RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Font_EnumerateCharacters

Programmer's Reference Manuals
» Part 8 - Non-kernel input/output
» The Font Manager
» SWI Calls
» Font_EnumerateCharacters

Font_EnumerateCharacters

(SWI &400A9)
Entry
R0 Font handle (0 for current)
R1 Character code (0 to start)
Exit
R0 Corrupted
R1 Next character (-1 if this is the last)
R2 Internal character code of this character (-1 if unmapped)

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.

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.

Examples

For the font \FHomerton.Medium\EUTF8, a call sequence might be:

Entry 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.

See also

  • Font_ReadFontMetrics
Created on October 10, 2009 20:58:12 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: The Font Manager SWI Calls, Font Kerning New Style Data

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys