h6. [[FontManager]] h6(. » [[FontManager SWI Calls|SWI Calls]] h6((. » Font_EnumerateCharacters h2. Font_EnumerateCharacters h5. (SWI &400A9) |_<^{width:3em}. Entry | | |<^. R0 |<^. Font handle (0 for current)| |<^. R1 |<^. Character code (0 to start)| |_<^{width:3em}. Exit || |<^. R0|<^. Corrupted | |<^. R1|<^. Next character (-1 if this is the last) | |<^. R2|<^. Internal character code of this character (-1 if unmapped)| h4. Use This purpose of this call is to determine which characters are present in a font, and which glyphs in the underlying font file characters map to. h4. Notes This call works only by looking at encoding files – it cannot guarantee that a given character is actually defined in a font file, but it can return which characters definitely are not, by returning with R2 set to -1. h4. Examples For the font <code>\FHomerton.Medium\EUTF8</code>, a call sequence might be: |_<^. Entry|_\2<^. Exit| |<^. R1 = 0|<^. R1 = &20 (space)|<^. R2 = -1| |<^. R1 = &10F (d-caron)|<^. R1 = &112 (E macron)|<^. R2 = &151| |<^. R1 = &112 (E-macron)|<^. R1 = &113 (e macron)|<^. R2 = &185| |<^. R1 = &113 (e-macron)|<^. R1 = &116 (E dot)|<^. R2 = &195| |<^. R1 = &FB02 (f1 ligature)|<^. R1 = -1|<^. R2 = &FF| So, in this example, we see that the f1 ligature character (Unicode FB02) is character &FF within the Homerton.Medium font file. This call may be of use in conjunction with [[Font_ReadFontMetrics]] kerning data. Also, it would allow a character map program to scan through the UCS space to find defined characters. h4. See also * [[Font_ReadFontMetrics]]