From: <th...@us...> - 2002-12-21 11:50:33
|
Update of /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib In directory sc8-pr-cvs1:/tmp/cvs-serv24778/Source/User/oslib Modified Files: Font.swi Log Message: Added new type and SWI definitions for the UCS font manager. Index: Font.swi =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib/Font.swi,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Font.swi 13 Mar 2002 13:45:06 -0000 1.4 --- Font.swi 21 Dec 2002 11:50:31 -0000 1.5 *************** *** 38,41 **** --- 38,43 ---- // V6.22 TV Font_BlendFont = Font_StringFlags: 0b100000000000 "Use when painting or scanning", + Font_Given16Bit = Font_StringFlags: 0b1000000000000 "Use when painting or scanning - RISC O S 5+", + Font_Given32Bit = Font_StringFlags: 0b10000000000000 "Use when painting or scanning - RISC O S 5+", Font_ReturnCaretPos = Font_StringFlags: 0b100000000000000000 "Use when scanning", Font_ReturnBBox = Font_StringFlags: 0b1000000000000000000 "Use when scanning", *************** *** 598,601 **** --- 600,634 ---- Font_ShortKernPair: pairs ... ): short_info + ), + + Font_ShortKernPairUCS = + .Struct + ( .Char: c1, + .Char: c2, + .Short: kern + ), + + Font_LongKernPairUCS = + .Struct + ( .Short: c1, + .Short: c2, + .Short: xkern, + .Short: ykern + ), + + Font_KernInfoUCS = + .Union + ( .Struct + ( [256] .Int: table, + .Int: size, + Font_KernFlags: flags, + Font_LongKernPairUCS: pairs ... + ): long_info, + .Struct + ( [256] .Int: table, + .Int: size, + Font_KernFlags: flags, + Font_ShortKernPairUCS: pairs ... + ): short_info ); *************** *** 611,615 **** // R4 = .Ref Font_MiscInfo: misc_info, R4 = .Ref Font_MetricsMiscInfo: misc_info, // TV V6.33 ! R5 = .Ref Font_KernInfo: kern_info, R6 # 0, //zero R7 # 0 //zero --- 644,648 ---- // R4 = .Ref Font_MiscInfo: misc_info, R4 = .Ref Font_MetricsMiscInfo: misc_info, // TV V6.33 ! R5 = .Ref Font_KernInfo: kern_info "ignored in RISC O S 5+", R6 # 0, //zero R7 # 0 //zero *************** *** 627,630 **** --- 660,690 ---- ); + SWI + Font_ReadFontMetricsUCS = //not RISC O S 2 + ( NUMBER 0x4009F "Reads the full metrics information held in a font's + IntMetrics file for UCS fonts - RISC O S 5+", + ENTRY + ( R0 = Font_F: font, + R1 # 0, // not useful with UCS fonts + R2 # 0, // not useful with UCS fonts + R3 # 0, // not useful with UCS fonts + // R4 = .Ref Font_MiscInfo: misc_info, + R4 = .Ref Font_MetricsMiscInfo: misc_info, // TV V6.33 + R5 # 0, // ignored by the UCS font manager + R6 = .Ref Font_KernInfoUCS: kern_info, + R7 # 0 //zero + ), + EXIT + ( R0 = Font_MetricFlags: flags, + R1?, + R2?, + R3?, + R4 = .Int: misc_info_size, + R5?, + R6 = .Int: kern_info_size, + R7? //undefined + ) + ); + TYPE Font_DecodeFlags = .Bits; CONST *************** *** 738,741 **** --- 798,813 ---- EXIT ( R2! = Font_CharacteristicFlags: flags + ) ), + + Font_EnumerateCharacters = + ( NUMBER 0x400A9 "Enumerate mapped characters - RISC O S 5+", + ENTRY + ( R0 = Font_F: font, + R1 = .Int: character + ), + EXIT + ( R0?, + R1 = .Int: next_character, + R2 = .Int: internal_character_code ) ); |