Routines
Initializing the Font Manager
pascal void InitFonts (void);
Getting Font Information
pascal void GetFontName (short familyID, Str255 theName);
pascal void GetFNum (ConstStr255Param name, short *familyID);
pascal Boolean RealFont (short fontNum, short size);
Using the Current, System, and Application Fonts
pascal short GetDefFontSize (void);
pascal short GetSysFont (void);
pascal short GetAppFont (void);
Getting the Characteristics of a Font
pascal void FontMetrics (const FMetricRec *theMetrics);
pascal OSErr OutlineMetrics (short byteCount, const void *textPtr,
Point numer, Point denom, short *yMax,
short *yMin, FixedPtr awArray,
FixedPtr lsbArray, RectPtr boundsArray);
Enabling Fractional Glyph Widths
pascal void SetFractEnable (Boolean fractEnable);
Disabling Font Scaling
pascal void SetFScaleDisable (Boolean fscaleDisable);
Favoring Outline Fonts Over Bitmapped Fonts
pascal void SetOutlinePreferred
(Boolean outlinePreferred);
pascal Boolean GetOutlinePreferred
(void);
pascal Boolean IsOutline (Point numer, Point denom);
Scaling Outline Fonts
pascal void SetPreserveGlyph
(Boolean preserveGlyph);
pascal Boolean GetPreserveGlyph
(void);
Accessing Information About a Font
pascal FMOutPtr FMSwapFont (const FMInput *inRec);
Handling Fonts in Memory
pascal void SetFontLock (Boolean lockFlag);
pascal OSErr FlushFonts (void);
Assembly-Language Summary
Trap Macros
Trap Macros
| Trap macro name | Trap word |
| _FMSwapFont | $A901 |
| _FontMetrics | $A835 |
| _GetFNum | $A900 |
| _GetFontName | $A8FF |
| _InitFonts | $A8FE |
| _RealFont | $A902 |
| _SetFontLock | $A903 |
| _SetFScaleDisable | $A834 |
with Trap Words
Trap Macros Requiring Routine Selectors
_FontDispatch
| Selector | Routine |
| $7000 | IsOutline |
| $7001 | SetOutlinePreferred |
| $7008 | OutlineMetrics |
| $7009 | GetOutlinePreferred |
| $700A | SetPreserveGlyph |
| $700B | GetPreserveGlyph |
| $700C | FlushFonts |
Global Variables
| ApFontID | Font ID of application font. |
| CurFMInput | The current QuickDraw FMInput record for FMSwapFont. |
| FDevDisable | Disables device-defined extra spacing for styles. |
| FMDefaultSize | The default point size. |
| FMgrOutRecc | The current FMOutput record from FMSwapFont. |
| FONDID | The resource ID of the last font family resource used. |
| FractEnable | If nonzero, fractional widths are enabled. |
| FScaleDisable | If nonzero, scaling is disabled. |
| FScaleHFact | The current horizontal scale factor. |
| FScaleVFact | The current vertical scale factor. |
| IntlSpec | International software installed if the value of this is greater than zero. |
| LastFOND | Handle to last family record used. |
| LastSPExtra | The most recent value of extra spacing for styles. |
| ROMFont0 | Handle to font record for system font. |
| SynListHandle | Handle to synthetic font list. |
| SysFontFam | If nonzero, the font ID to use for the system font. |
| SysFontSiz | If nonzero, the size of the system font. |
| UsedFWidths | A flag determining whether fractional widths were used for the most recent font request. |
| WidthListHand | Handle to a list of handles to recently used width tables (referred to in some places as jFontInfo). |
| WidthPtr | Pointer to global width table. |
| WidthTabHandle | Handle to global width table. |