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
) );
|