home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / User / Hdr / Font < prev    next >
Encoding:
Text File  |  1995-08-21  |  18.7 KB  |  646 lines

  1. ;Assembler header file for Font
  2. ;written by DefMod (Jun 30 1995) on Mon Aug 21 19:04:19 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_OS
  16.         GBLS    Get_OS
  17.         ]
  18.         [       :LNOT: :DEF: OS_Hdr
  19. Get_OS                          SETS    "GET OS:Hdr.OS"
  20.         |
  21. Get_OS                          SETS    ""
  22.         ]
  23.         $Get_OS
  24.  
  25.         [       :LNOT: :DEF: Font_Hdr
  26.         GBLS    Font_Hdr
  27.  
  28. ;Symbols for constants
  29. Font_OSUnit                     *       400
  30. Font_Inch                       *       72000
  31. Font_Point                      *       1000
  32. Font_CommandNull                *       :CHR: &00
  33. Font_CommandXMove               *       :CHR: &09
  34. Font_CommandLinefeed            *       :CHR: &0A
  35. Font_CommandYMove               *       :CHR: &0B
  36. Font_CommandReturn              *       :CHR: &0D
  37. Font_CommandGCol                *       :CHR: &11
  38. Font_CommandColours             *       :CHR: &12
  39. Font_CommandTrueColours         *       :CHR: &13
  40. Font_CommandComment             *       :CHR: &15
  41. Font_CommandUnderline           *       :CHR: &19
  42. Font_CommandFont                *       :CHR: &1A
  43. Font_CommandHomTrfm             *       :CHR: &1B
  44. Font_CommandTrfm                *       :CHR: &1C
  45. Font_Justify                    *       &1
  46. Font_Rubout                     *       &2
  47. Font_OSUnits                    *       &10
  48. Font_GivenBlock                 *       &20
  49. Font_GivenTrfm                  *       &40
  50. Font_GivenLength                *       &80
  51. Font_GivenFont                  *       &100
  52. Font_Kern                       *       &200
  53. Font_RightToLeft                *       &400
  54. Font_ReturnCaretPos             *       &20000
  55. Font_ReturnBBox                 *       &40000
  56. Font_ReturnMatrix               *       &80000
  57. Font_ReturnSplitCount           *       &100000
  58. Font_NoOutput                   *       &1
  59. Font_AddHints                   *       &2
  60. Font_OutputSkeleton             *       &4
  61. Font_ConvertBitmap              *       &8
  62. Font_ErrorIfBitmap              *       &10
  63. Error_FontNoRoom                *       &200
  64. Error_FontCacheFull             *       &201
  65. Error_FontNoCache               *       &202
  66. Error_FontTooLong               *       &203
  67. Error_Font64K                   *       &204
  68. Error_FontPalTooBig             *       &205
  69. Error_FontBadTranBits           *       &206
  70. Error_FontNotEnoughBits         *       &207
  71. Error_FontNoFont                *       &208
  72. Error_FontNoPixels              *       &209
  73. Error_FontBadFontNumber         *       &20A
  74. Error_FontNotFound              *       &20B
  75. Error_FontBadFontFile           *       &20C
  76. Error_FontNoHandles             *       &20D
  77. Error_FontBadCounter            *       &20E
  78. Error_FontBadCtrlChar           *       &20F
  79. Error_FontsInUse                *       &210
  80. Error_FontBadSegment            *       &211
  81. Error_FontBadPrefix             *       &212
  82. Error_FontReserved              *       &213
  83. Error_FontBadCharCode           *       &214
  84. Error_FontNoBitmaps             *       &215
  85. Error_FontNoBitmaps2            *       &216
  86. Error_FontBadFontCacheFile      *       &217
  87. Error_FontFieldNotFound         *       &218
  88. Error_FontBadMatrix             *       &219
  89. Error_FontOverflow              *       &21A
  90. Error_FontDivby0                *       &21B
  91. Error_FontBadReadMetrics        *       &21C
  92. Error_FontBadRGB                *       &21D
  93. Error_FontEncodingNotFound      *       &21E
  94. Error_FontMustHaveSlash         *       &21F
  95. Error_FontBadEncodingSize       *       &220
  96. Error_FontTooManyIDs            *       &221
  97. Error_FontTooFewIDs             *       &222
  98. Error_FontNoBaseEncoding        *       &223
  99. Error_FontIdentifierNotFound    *       &224
  100. Error_FontTooManyChunks         *       &225
  101. Error_FontBadFontFile2          *       &226
  102. Error_FontDataNotFound          *       &20B
  103. Error_FontDataNotFound2         *       &20B
  104. Font_NameLimit                  *       40
  105. Font_System                     *       &0
  106. Font_Current                    *       &0
  107. Font_BitmapDeep                 *       &1
  108. Font_BitmapHorizontalSubPixel   *       &2
  109. Font_BitmapVerticalSubPixel     *       &4
  110. Font_BitmapDelete               *       &8
  111. Font_CharacteristicOldFormat    *       &1
  112. Font_CharacteristicROM          *       &2
  113. Font_CharacteristicMonochrome   *       &4
  114. Font_CharacteristicFillRuleNonZero *       &8
  115. Font_ReturnFontName             *       &10000
  116. Font_ReturnLocalFontName        *       &20000
  117. Font_UseLinefeed                *       &40000
  118. Font_ReturnFontMenu             *       &80000
  119. Font_AllowSystemFont            *       &100000
  120. Font_GivenTick                  *       &200000
  121. Font_ReturnEncodingMenu         *       &480000
  122. Font_TickNone                   *       &0
  123. Font_TickSystemFont             *       &1
  124. Font_KernNoBBoxes               *       &1
  125. Font_KernNoXOffsets             *       &2
  126. Font_KernNoYOffsets             *       &4
  127. Font_MetricsKernYOnly           *       &2
  128. Font_MetricsKernXOnly           *       &4
  129. Font_MetricsManyKernPairs       *       &8
  130. Font_GivenEncodingMenu          *       &1
  131.  
  132. ;Symbols for structure offsets and sizes
  133. Font_StringFlags                *       Bits
  134.  
  135. Font_F                          *       Byte
  136.  
  137.                                 ^       0
  138. Font_PaintBlock_space           #       OS_Coord
  139. Font_PaintBlock_letter          #       OS_Coord
  140. Font_PaintBlock_rubout          #       OS_Box
  141. Font_PaintBlock                 *       @
  142.  
  143.                                 ^       0
  144. Font_ScanBlock_space            #       OS_Coord
  145. Font_ScanBlock_letter           #       OS_Coord
  146. Font_ScanBlock_split_char       #       Int
  147. Font_ScanBlock_bbox             #       OS_Box
  148. Font_ScanBlock                  *       @
  149.  
  150.                                 ^       0
  151. Font_Thresholds_t               #       Byte
  152. Font_Thresholds                 *       @
  153.  
  154.                                 ^       0
  155. Font_ColourTable_c              #       Byte
  156. Font_ColourTable                *       @
  157.  
  158. Font_BitmapType                 *       Bits
  159.  
  160. Font_CharacteristicFlags        *       Bits
  161.  
  162. Font_ListContext                *       Int
  163.  
  164. Font_KernFlags                  *       Bits
  165.  
  166. Font_MetricFlags                *       Bits
  167.  
  168.                                 ^       0
  169. Font_BBoxInfo_bboxes            #       OS_Box
  170. Font_BBoxInfo                   *       @
  171.  
  172.                                 ^       0
  173. Font_WidthInfo_widths           #       256*Int
  174. Font_WidthInfo                  *       @
  175.  
  176.                                 ^       0
  177. Font_MiscInfo_x0                #       Short
  178. Font_MiscInfo_y0                #       Short
  179. Font_MiscInfo_x1                #       Short
  180. Font_MiscInfo_y1                #       Short
  181. Font_MiscInfo_xkern             #       Short
  182. Font_MiscInfo_ykern             #       Short
  183. Font_MiscInfo_italic_correction #       Short
  184. Font_MiscInfo_underline_position #       Byte
  185. Font_MiscInfo_underline_thickness #       Byte
  186. Font_MiscInfo_cap_height        #       Short
  187. Font_MiscInfo_xheight           #       Short
  188. Font_MiscInfo_descender         #       Short
  189. Font_MiscInfo_ascender          #       Short
  190. Font_MiscInfo_reserved          #       Int
  191. Font_MiscInfo                   *       @
  192.  
  193. Font_ShortKernPair              *       Bits
  194.  
  195.                                 ^       0
  196. Font_LongKernPair_c             #       Int
  197. Font_LongKernPair_xkern         #       Int
  198. Font_LongKernPair_ykern         #       Int
  199. Font_LongKernPair               *       @
  200.  
  201.                                 ^       0
  202. Font_KernInfo_long_info_table   #       256*Int
  203. Font_KernInfo_long_info_size    #       Int
  204. Font_KernInfo_long_info_flags   #       Font_KernFlags
  205. Font_KernInfo_long_info_pairs   #       Font_LongKernPair
  206.                                 ^       0
  207. Font_KernInfo_short_info_table  #       256*Int
  208. Font_KernInfo_short_info_size   #       Int
  209. Font_KernInfo_short_info_flags  #       Font_KernFlags
  210. Font_KernInfo_short_info_pairs  #       Font_ShortKernPair
  211. Font_KernInfo                   *       @
  212.  
  213. Font_DecodeFlags                *       Bits
  214.  
  215.  
  216. ;Symbols for SWI's and SWI reason codes
  217. XFont_CacheAddr                 *       &60080
  218. Font_CacheAddr                  *       &40080
  219.    ;Exit
  220.    ;  R0 = version (Int)
  221.    ;  R2 = cache_size (Int)
  222.    ;  R3 = cache_used (Int)
  223.  
  224. XFont_FindFont                  *       &60081
  225. Font_FindFont                   *       &40081
  226.    ;Entry
  227.    ;  R1 -> font_name (String)
  228.    ;  R2 = xsize (Int)
  229.    ;  R3 = ysize (Int)
  230.    ;  R4 = xres (Int)
  231.    ;  R5 = yres (Int)
  232.    ;Exit
  233.    ;  R0 = font (Font_F)
  234.    ;  R4 = xres_out (Int)
  235.    ;  R5 = yres_out (Int)
  236.  
  237. XFont_LoseFont                  *       &60082
  238. Font_LoseFont                   *       &40082
  239.    ;Entry
  240.    ;  R0 = font (Font_F)
  241.  
  242. XFont_ReadDefn                  *       &60083
  243. Font_ReadDefn                   *       &40083
  244.    ;Entry
  245.    ;  R0 = font (Font_F)
  246.    ;  R3 = &0
  247.    ;Exit
  248.    ;  R2 = xsize (Int)
  249.    ;  R3 = ysize (Int)
  250.    ;  R4 = xres (Int)
  251.    ;  R5 = yres (Int)
  252.    ;  R6 = age (Int)
  253.    ;  R7 = usage_count (Int)
  254.  
  255. XFont_ReadIdentifier            *       &60083
  256. Font_ReadIdentifier             *       &40083
  257.    ;Entry
  258.    ;  R0 = font (Font_F)
  259.    ;  R1 = buffer (pointer to data)
  260.    ;  R3 = &4C4C5546
  261.    ;Exit
  262.    ;  R2 = used (Int)
  263.    ;  R3 corrupted
  264.    ;  R4 corrupted
  265.    ;  R5 corrupted
  266.    ;  R6 corrupted
  267.    ;  R7 corrupted
  268.  
  269. XFont_ReadInfo                  *       &60084
  270. Font_ReadInfo                   *       &40084
  271.    ;Entry
  272.    ;  R0 = font (Font_F)
  273.    ;Exit
  274.    ;  R1 = x0 (Int)
  275.    ;  R2 = y0 (Int)
  276.    ;  R3 = x1 (Int)
  277.    ;  R4 = y1 (Int)
  278.  
  279. XFont_StringWidth               *       &60085
  280. Font_StringWidth                *       &40085
  281.    ;Entry
  282.    ;  R1 -> s (String)
  283.    ;  R2 = xmax (Int)
  284.    ;  R3 = ymax (Int)
  285.    ;  R4 = split (Int)
  286.    ;  R5 = length (Int)
  287.    ;Exit
  288.    ;  R1 -> split_point (Char)
  289.    ;  R2 = x (Int)
  290.    ;  R3 = y (Int)
  291.    ;  R4 = length_out (Int)
  292.    ;  R5 = index_out (Int)
  293.  
  294. XFont_Paint                     *       &60086
  295. Font_Paint                      *       &40086
  296.    ;Entry
  297.    ;  R0 = font (Font_F)
  298.    ;  R1 -> string (String)
  299.    ;  R2 = flags (Font_StringFlags)
  300.    ;  R3 = xpos (Int)
  301.    ;  R4 = ypos (Int)
  302.    ;  R5 -> block (Font_PaintBlock)
  303.    ;  R6 -> trfm (OS_Trfm)
  304.    ;  R7 = length (Int)
  305.  
  306. XFont_Caret                     *       &60087
  307. Font_Caret                      *       &40087
  308.    ;Entry
  309.    ;  R0 = colour_number (OS_ColourNumber)
  310.    ;  R1 = height (Int)
  311.    ;  R2 = unit_flags (Font_StringFlags)
  312.    ;  R3 = x (Int)
  313.    ;  R4 = y (Int)
  314.  
  315. XFont_ConverttoOS               *       &60088
  316. Font_ConverttoOS                *       &40088
  317.    ;Entry
  318.    ;  R1 = x (Int)
  319.    ;  R2 = y (Int)
  320.    ;Exit
  321.    ;  R1 = x_out (Int)
  322.    ;  R2 = y_out (Int)
  323.  
  324. XFont_Converttopoints           *       &60089
  325. Font_Converttopoints            *       &40089
  326.    ;Entry
  327.    ;  R1 = x (Int)
  328.    ;  R2 = y (Int)
  329.    ;Exit
  330.    ;  R0 corrupted
  331.    ;  R1 = x_out (Int)
  332.    ;  R2 = y_out (Int)
  333.  
  334. XFont_SetFont                   *       &6008A
  335. Font_SetFont                    *       &4008A
  336.    ;Entry
  337.    ;  R0 = font (Font_F)
  338.  
  339. XFont_CurrentFont               *       &6008B
  340. Font_CurrentFont                *       &4008B
  341.    ;Exit
  342.    ;  R0 = font (Font_F)
  343.    ;  R1 = bg_hint (OS_GCOL)
  344.    ;  R2 = fill (OS_GCOL)
  345.    ;  R3 = offset (Int)
  346.  
  347. XFont_FutureFont                *       &6008C
  348. Font_FutureFont                 *       &4008C
  349.    ;Exit
  350.    ;  R0 = font (Font_F)
  351.    ;  R1 = bg_hint (OS_GCOL)
  352.    ;  R2 = fill (OS_GCOL)
  353.    ;  R3 = offset (Int)
  354.  
  355. XFont_FindCaret                 *       &6008D
  356. Font_FindCaret                  *       &4008D
  357.    ;Entry
  358.    ;  R1 -> s (String)
  359.    ;  R2 = x (Int)
  360.    ;  R3 = y (Int)
  361.    ;Exit
  362.    ;  R1 -> split_point (Char)
  363.    ;  R2 = x_out (Int)
  364.    ;  R3 = y_out (Int)
  365.    ;  R4 = length_out (Int)
  366.    ;  R5 = index_out (Int)
  367.  
  368. XFont_CharBBox                  *       &6008E
  369. Font_CharBBox                   *       &4008E
  370.    ;Entry
  371.    ;  R0 = font (Font_F)
  372.    ;  R1 = c (Char)
  373.    ;  R2 = unit_flags (Font_StringFlags)
  374.    ;Exit
  375.    ;  R1 = x0 (Int)
  376.    ;  R2 = y0 (Int)
  377.    ;  R3 = x1 (Int)
  378.    ;  R4 = y1 (Int)
  379.  
  380. XFont_ReadScaleFactor           *       &6008F
  381. Font_ReadScaleFactor            *       &4008F
  382.    ;Exit
  383.    ;  R1 = xfactor (Int)
  384.    ;  R2 = yfactor (Int)
  385.  
  386. XFont_SetScaleFactor            *       &60090
  387. Font_SetScaleFactor             *       &40090
  388.    ;Entry
  389.    ;  R1 = xfactor (Int)
  390.    ;  R2 = yfactor (Int)
  391.  
  392. XFont_ListFonts                 *       &60091
  393. Font_ListFonts                  *       &40091
  394.    ;Entry
  395.    ;  R1 = buffer1 (pointer to data)
  396.    ;  R2 = context (Font_ListContext)
  397.    ;  R3 = size1 (Int)
  398.    ;  R4 = buffer2 (pointer to data)
  399.    ;  R5 = size2 (Int)
  400.    ;  R6 -> tick_font (String)
  401.    ;Exit
  402.    ;  R2 = context_out (Font_ListContext)
  403.    ;  R3 = used1 (Int)
  404.    ;  R5 = used2 (Int)
  405.  
  406. XFont_SetFontColours            *       &60092
  407. Font_SetFontColours             *       &40092
  408.    ;Entry
  409.    ;  R0 = font (Font_F)
  410.    ;  R1 = bg_hint (OS_GCOL)
  411.    ;  R2 = fill (OS_GCOL)
  412.    ;  R3 = offset (Int)
  413.  
  414. XFont_SetPalette                *       &60093
  415. Font_SetPalette                 *       &40093
  416.    ;Entry
  417.    ;  R1 = bg_hint (OS_GCOL)
  418.    ;  R2 = fill (OS_GCOL)
  419.    ;  R3 = offset (Int)
  420.    ;  R4 = bg_hint_out (OS_Colour)
  421.    ;  R5 = fill_out (OS_Colour)
  422.    ;  R6 = &0
  423.  
  424. XFont_SetTruePalette            *       &60093
  425. Font_SetTruePalette             *       &40093
  426.    ;Entry
  427.    ;  R1 = bg_hint (OS_GCOL)
  428.    ;  R2 = fill (OS_GCOL)
  429.    ;  R3 = offset (Int)
  430.    ;  R4 = bg_hint_out (OS_Colour)
  431.    ;  R5 = fill_out (OS_Colour)
  432.    ;  R6 = &65757254
  433.  
  434. XFont_ReadThresholds            *       &60094
  435. Font_ReadThresholds             *       &40094
  436.    ;Entry
  437.    ;  R1 = buffer (pointer to Font_Thresholds)
  438.  
  439. XFont_SetThresholds             *       &60095
  440. Font_SetThresholds              *       &40095
  441.    ;Entry
  442.    ;  R1 -> thresholds (Font_Thresholds)
  443.  
  444. XFont_FindCaretJ                *       &60096
  445. Font_FindCaretJ                 *       &40096
  446.    ;Entry
  447.    ;  R1 -> s (String)
  448.    ;  R2 = x (Int)
  449.    ;  R3 = y (Int)
  450.    ;  R4 = xjust (Int)
  451.    ;  R5 = yjust (Int)
  452.    ;Exit
  453.    ;  R1 -> split_point (Char)
  454.    ;  R2 = x_out (Int)
  455.    ;  R3 = y_out (Int)
  456.    ;  R4 = length_out (Int)
  457.    ;  R5 = index_out (Int)
  458.  
  459. XFont_StringBBox                *       &60097
  460. Font_StringBBox                 *       &40097
  461.    ;Entry
  462.    ;  R1 -> s (String)
  463.    ;Exit
  464.    ;  R1 = x0 (Int)
  465.    ;  R2 = y0 (Int)
  466.    ;  R3 = x1 (Int)
  467.    ;  R4 = y1 (Int)
  468.  
  469. XFont_ReadColourTable           *       &60098
  470. Font_ReadColourTable            *       &40098
  471.    ;Entry
  472.    ;  R1 -> colour_table (Font_ColourTable)
  473.  
  474. XFont_MakeBitmap                *       &60099
  475. Font_MakeBitmap                 *       &40099
  476.    ;Entry
  477.    ;  R1 -> font_name (String)
  478.    ;  R2 = xsize (Int)
  479.    ;  R3 = ysize (Int)
  480.    ;  R4 = xres (Int)
  481.    ;  R5 = yres (Int)
  482.    ;  R6 = flags (Font_BitmapType)
  483.  
  484. XFont_UnCacheFile               *       &6009A
  485. Font_UnCacheFile                *       &4009A
  486.    ;Entry
  487.    ;  R0 -> file_name (String)
  488.    ;  R1 = recache (Bool)
  489.  
  490. XFont_SetFontMax                *       &6009B
  491. Font_SetFontMax                 *       &4009B
  492.    ;Entry
  493.    ;  R0 = font_max (Int)
  494.    ;  R1 = font_max1 (Int)
  495.    ;  R2 = font_max2 (Int)
  496.    ;  R3 = font_max3 (Int)
  497.    ;  R4 = font_max4 (Int)
  498.    ;  R5 = font_max5 (Int)
  499.    ;  R6 = &0
  500.    ;  R7 = &0
  501.  
  502. XFont_ReadFontMax               *       &6009C
  503. Font_ReadFontMax                *       &4009C
  504.    ;Exit
  505.    ;  R0 = font_max (Int)
  506.    ;  R1 = font_max1 (Int)
  507.    ;  R2 = font_max2 (Int)
  508.    ;  R3 = font_max3 (Int)
  509.    ;  R4 = font_max4 (Int)
  510.    ;  R5 = font_max5 (Int)
  511.    ;  R6 corrupted
  512.    ;  R7 corrupted
  513.  
  514. XFont_ReadFontPrefix            *       &6009D
  515. Font_ReadFontPrefix             *       &4009D
  516.    ;Entry
  517.    ;  R0 = font (Font_F)
  518.    ;  R1 = buffer (pointer to String)
  519.    ;  R2 = size (Int)
  520.    ;Exit
  521.    ;  R1 -> end (Char)
  522.    ;  R2 corrupted
  523.  
  524. XFont_SwitchOutputToBuffer      *       &6009E
  525. Font_SwitchOutputToBuffer       *       &4009E
  526.    ;Entry
  527.    ;  R0 = flags (Bits)
  528.    ;  R1 = buffer (pointer to data)
  529.    ;Exit
  530.    ;  R1 -> end (Char)
  531.  
  532. XFont_ReadFontMetrics           *       &6009F
  533. Font_ReadFontMetrics            *       &4009F
  534.    ;Entry
  535.    ;  R0 = font (Font_F)
  536.    ;  R1 = bbox_info (pointer to Font_BBoxInfo)
  537.    ;  R2 = xwidth_info (pointer to Font_WidthInfo)
  538.    ;  R3 = ywidth_info (pointer to Font_WidthInfo)
  539.    ;  R4 = misc_info (pointer to Font_MiscInfo)
  540.    ;  R5 = kern_info (pointer to Font_KernInfo)
  541.    ;  R6 = &0
  542.    ;  R7 = &0
  543.    ;Exit
  544.    ;  R0 = flags (Font_MetricFlags)
  545.    ;  R1 = bbox_info_size (Int)
  546.    ;  R2 = xwidth_info_size (Int)
  547.    ;  R3 = ywidth_info_size (Int)
  548.    ;  R4 = misc_info_size (Int)
  549.    ;  R5 = kern_info_size (Int)
  550.    ;  R6 corrupted
  551.    ;  R7 corrupted
  552.  
  553. XFont_DecodeMenu                *       &600A0
  554. Font_DecodeMenu                 *       &400A0
  555.    ;Entry
  556.    ;  R0 = flags (Font_DecodeFlags)
  557.    ;  R1 -> menu (data)
  558.    ;  R2 -> block (data)
  559.    ;  R3 = buffer (pointer to data)
  560.    ;  R4 = size (Int)
  561.    ;Exit
  562.    ;  R3 -> next_selection (Int)
  563.    ;  R4 = used (Int)
  564.  
  565. XFont_ScanString                *       &600A1
  566. Font_ScanString                 *       &400A1
  567.    ;Entry
  568.    ;  R0 = font (Font_F)
  569.    ;  R1 -> s (String)
  570.    ;  R2 = flags (Font_StringFlags)
  571.    ;  R3 = x (Int)
  572.    ;  R4 = y (Int)
  573.    ;  R5 -> block (Font_ScanBlock)
  574.    ;  R6 -> trfm (OS_Trfm)
  575.    ;  R7 = length (Int)
  576.    ;Exit
  577.    ;  R1 -> split_point (Char)
  578.    ;  R3 = x_out (Int)
  579.    ;  R4 = y_out (Int)
  580.    ;  R7 = length_out (Int)
  581.  
  582. XFont_SetColourTable            *       &600A2
  583. Font_SetColourTable             *       &400A2
  584.  
  585. XFont_CurrentRGB                *       &600A3
  586. Font_CurrentRGB                 *       &400A3
  587.    ;Exit
  588.    ;  R0 = font (Font_F)
  589.    ;  R1 = bg_hint (OS_Colour)
  590.    ;  R2 = fill (OS_Colour)
  591.    ;  R3 = offset (Int)
  592.  
  593. XFont_FutureRGB                 *       &600A4
  594. Font_FutureRGB                  *       &400A4
  595.    ;Exit
  596.    ;  R0 = font (Font_F)
  597.    ;  R1 = bg_hint (OS_Colour)
  598.    ;  R2 = fill (OS_Colour)
  599.    ;  R3 = offset (Int)
  600.  
  601. XFont_ReadEncodingFilename      *       &600A5
  602. Font_ReadEncodingFilename       *       &400A5
  603.    ;Entry
  604.    ;  R0 = font (Font_F)
  605.    ;  R1 = buffer (pointer to String)
  606.    ;  R2 = size (Int)
  607.    ;Exit
  608.    ;  R0 corrupted
  609.    ;  R1 -> end (Char)
  610.    ;  R2 corrupted
  611.  
  612. XFont_FindField                 *       &600A6
  613. Font_FindField                  *       &400A6
  614.    ;Entry
  615.    ;  R0 -> identifier (String)
  616.    ;  R2 = qualifier (Char)
  617.    ;Exit
  618.    ;  R1 -> field (String)
  619.    ;  R2 = found (Bool)
  620.  
  621. XFont_ApplyFields               *       &600A7
  622. Font_ApplyFields                *       &400A7
  623.    ;Entry
  624.    ;  R0 -> identifier (String)
  625.    ;  R1 -> fields (String)
  626.    ;  R2 = buffer (pointer to String)
  627.    ;  R3 = size (Int)
  628.    ;Exit
  629.    ;  R3 = spare (Int)
  630.  
  631. XFont_LookupFont                *       &600A8
  632. Font_LookupFont                 *       &400A8
  633.    ;Entry
  634.    ;  R0 = font (Font_F)
  635.    ;  R1 = &0
  636.    ;  R2 = &0
  637.    ;Exit
  638.    ;  R2 = flags (Font_CharacteristicFlags)
  639.  
  640. Service_FontsChanged            *       &6E
  641.    ;Entry
  642.    ;  R1 = &6E
  643.  
  644.         ]
  645.         END
  646.