home *** CD-ROM | disk | FTP | other *** search
/ DTP Toolbox / DTPToolbox.iso / propage4.0 / arexx / fraction.pprx < prev    next >
Encoding:
Text File  |  1992-08-24  |  1.1 KB  |  44 lines

  1. /*
  2. @BFraction  @P@Iby Robin Evans, July, 1992
  3. Converts a block of text into a superscript/subscript fraction.
  4. */
  5.  
  6. if word(ppm_GetState(), 1) ~= 3 then
  7.     exit_msg("You must be in edit mode to use this GEnie")
  8.  
  9.  
  10. text = ppm_GetBlockText(0)
  11. if text = '' then exit_msg("No block selected")
  12.  
  13. parse var text Dividend '/' Divisor
  14. if ~datatype(Dividend, 'N') | ~datatype(Divisor, 'N') then
  15.     exit_msg("Highlight a numerical fraction.")
  16.  
  17. call ppm_cut()
  18.  
  19. FontSize = ppm_GetSize()
  20. BaseLine = ppm_GetBaseLine()
  21. Tracking = ppm_GetTracking()
  22.  
  23. NewSize = .75 * fontsize
  24. Divisor = substr(Divisor, 1,1) || '\t<'Tracking'>' || substr(Divisor, 2)
  25.  
  26.     /* The next 4 lines can be entered on one line.
  27.         the characters ' ||,' indicate a continuation of the line */
  28. NewText = '\fs<'NewSize'>\ls<'BaseLine + .25 * FontSize'>'Dividend'\fs<' ||,
  29. FontSize'>\ls<'BaseLine - .12 * FontSize'>\t<'Tracking - .75 * FontSize ||,
  30. '>/\fs<'NewSize'>\ls<'BaseLine - .25 * FontSize'>'Divisor ||,
  31. '\fs<'FontSize'>\ls<'BaseLine'>'
  32.  
  33. call ppm_InsertText(NewText)
  34.  
  35. exit
  36.  
  37. exit_msg:
  38. do
  39.     parse arg message
  40.  
  41.     if message ~= '' then call ppm_ShowStatus(message)
  42.     exit
  43. end
  44.