h6. [[FontManager]] h6(. » [[FontManager SWI Calls|SWI Calls]] h6((. » [[Font_ScanString]] h6(((. » Flags |_<^{width:4em}. Bit |_<^. Meaning if set | |<^. 0|<^. 0 (reserved) | |<^. 1|<^. 0 (reserved) | |<^. 2|<^. 0 (reserved) | |<^. 3|<^. 0 (reserved) | |<^. 4|<^. 0 (reserved) | |<^. 5|<^. R5 is pointer to [[Font_ScanString Block|block]] | |<^. 6|<^. R6 is pointer to [[Font Transformation Matrix]] | |<^. 7|<^. R7 is length of string | |<^. 8|<^. R0 is initial font handle | |<^. 9|<^. Perform kerning | |<^. 10|<^. Writing direction is right-to-left | |<^. 11|<^. 0 (reserved) | |<^. 12|<^. R1 points to [[Font String Forms|16-bit string]] (bit 13 must be clear)[1] | |<^. 13|<^. R1 points to [[Font String Forms|32-bit string]] (bit 12 must be clear)[1] | |<^. 14|<^. 0 (reserved) | |<^. 15|<^. 0 (reserved) | |<^. 16|<^. 0 (reserved) | |<^. 17|<^. Return nearest caret position (if x offset is less than half way through a character, the character is not included) | |<^. 18|<^. Return bounding box in R5 (bit 5 must also be set) | |<^. 19|<^. Return updated matrix in R6 (bit 6 must also be set) | |<^. 20|<^. Return number of split characters in R7 (bit 7 must also be set) | |<^. 21-31|<^. 0 (reserved) | fn1. Font Manager 3.41 onwards h4. Notes The flags in R2 determine how this call is used. Registers R0, R5, R6 and R7 are only used if bits 5, 6, 7 and 8 are set in [[Font_ScanString Flags|flags]] in R2. If bit 8 is clear, then the current font will be assumed. This call does not alter the current font, so if you are scanning several sequential lines and these contain font shifts, you should call [[Font_FutureFont]] to find which font handle to pass in R0 the next time. If bit 18 is set, the returned bounding box will only be valid if Font_ScanString was able to process some characters. E.g. calling with R7=0 will return an invalid bounding box (left and bottom coordinates greater than the right and top coordinates). If bit 20 is set, there is no split character, then R7 will be used to return the number of non-control characters (codes 32 or greater and not within a control sequence). h4. See also * [[Font_FutureFont]] * [[Font_Paint]] * [[Font_ScanString]]