home *** CD-ROM | disk | FTP | other *** search
- /* SizeNOblique 1.0 (11.05.94) by NDY's */
- OPTIONS RESULTS
- /* Decimal point */
- GetDocItemPrefs "DECIMAL"
- deci=RESULT
- DocItemPrefs "DECIMAL PERIOD"
- /* For cursor movement */
- ShiftUp
- AltUp
- CtrlUp
- /* Selected text or current paragraph? */
- Status "PARAPOS"
- pos=RESULT
- IF Words(pos)=4 THEN
- DO
- mode=0
- Extract
- len=Length(RESULT)
- IF C2X(Right(RESULT,1))="0A" THEN len=len-1
- MoveToPara Word(pos,3) Word(pos,4)
- END
- ELSE
- DO
- mode=1
- Status "PARACHARS"
- len=RESULT
- MoveToPara Word(pos,1) len
- END
- /* Get size and oblique of first and last char */
- Status "FONTSIZE"
- size2=RESULT
- Status "FONTOBLIQUE"
- obl2=RESULT
- IF mode THEN
- MoveToPara Word(pos,1) 0
- ELSE
- MoveToPara Word(pos,1) Word(pos,2)
- Status "FONTSIZE"
- size1=RESULT
- Status "FONTOBLIQUE"
- obl1=RESULT
- len=len-1
- oblstep=(obl2-obl1)/len
- sizestep=(size2-size1)/len
- /* Process chars */
- Cursor "RIGHT"
- DO i=1 TO len-1
- ShiftDown
- Cursor "RIGHT"
- FontSize Trunc(size1+sizestep*i)
- o=obl1+oblstep*i
- IF Pos("E",o)>0 THEN o=0 /* Small numbers, e.g. 1.3E-12 */
- Oblique Trunc(o)
- ShiftUp
- Cursor "LEFT"
- Cursor "RIGHT"
- END
- DocItemPrefs "DECIMAL" deci
- EXIT
-