home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 82 / af082sub.adf / FINALWRITER / FINAL.lzx / FinalWriter / FinalMacros / Macros / SizeNOblique.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1978-01-01  |  1.1 KB  |  60 lines

  1. /* SizeNOblique 1.0 (11.05.94) by NDY's */
  2. OPTIONS RESULTS
  3. /* Decimal point */
  4. GetDocItemPrefs "DECIMAL"
  5. deci=RESULT
  6. DocItemPrefs "DECIMAL PERIOD"
  7. /* For cursor movement */
  8. ShiftUp
  9. AltUp
  10. CtrlUp
  11. /* Selected text or current paragraph? */
  12. Status "PARAPOS"
  13. pos=RESULT
  14. IF Words(pos)=4 THEN
  15.   DO
  16.     mode=0
  17.     Extract
  18.     len=Length(RESULT)
  19.     IF C2X(Right(RESULT,1))="0A" THEN len=len-1
  20.     MoveToPara Word(pos,3) Word(pos,4)
  21.   END
  22. ELSE
  23.   DO
  24.     mode=1
  25.     Status "PARACHARS"
  26.     len=RESULT
  27.     MoveToPara Word(pos,1) len
  28.   END
  29. /* Get size and oblique of first and last char */
  30. Status "FONTSIZE"
  31. size2=RESULT
  32. Status "FONTOBLIQUE"
  33. obl2=RESULT
  34. IF mode THEN
  35.   MoveToPara Word(pos,1) 0
  36. ELSE
  37.   MoveToPara Word(pos,1) Word(pos,2)
  38. Status "FONTSIZE"
  39. size1=RESULT
  40. Status "FONTOBLIQUE"
  41. obl1=RESULT
  42. len=len-1
  43. oblstep=(obl2-obl1)/len
  44. sizestep=(size2-size1)/len
  45. /* Process chars */
  46. Cursor "RIGHT"
  47. DO i=1 TO len-1
  48.   ShiftDown
  49.   Cursor "RIGHT"
  50.   FontSize Trunc(size1+sizestep*i)
  51.   o=obl1+oblstep*i
  52.   IF Pos("E",o)>0 THEN o=0 /* Small numbers, e.g. 1.3E-12 */
  53.   Oblique Trunc(o)
  54.   ShiftUp
  55.   Cursor "LEFT"
  56.   Cursor "RIGHT"
  57. END
  58. DocItemPrefs "DECIMAL" deci
  59. EXIT
  60.