14 |
14 |
15 Object subclass:#FontDescription |
15 Object subclass:#FontDescription |
16 instanceVariableNames:'family face style size encoding manufacturer name flags masks |
16 instanceVariableNames:'family face style size encoding manufacturer name flags masks |
17 pixelSize' |
17 pixelSize' |
18 classVariableNames:'BoldnessMask FixedFlag ItalicFlag OutlineFlag SerifFlag |
18 classVariableNames:'BoldnessMask FixedFlag ItalicFlag OutlineFlag SerifFlag |
19 ShadowFlag StrikeoutFlag UnderlineFlag CharacterSetToFontMapping' |
19 ShadowFlag StrikeoutFlag UnderlineFlag CharacterSetToFontMapping |
|
20 CharacterEncodingToCharacterSetMapping' |
20 poolDictionaries:'' |
21 poolDictionaries:'' |
21 category:'Graphics-Support' |
22 category:'Graphics-Support' |
22 ! |
23 ! |
23 |
24 |
24 !FontDescription class methodsFor:'documentation'! |
25 !FontDescription class methodsFor:'documentation'! |
90 SerifFlag := 2r0001000000. |
91 SerifFlag := 2r0001000000. |
91 ShadowFlag := 2r0010000000. |
92 ShadowFlag := 2r0010000000. |
92 StrikeoutFlag := 2r0100000000. |
93 StrikeoutFlag := 2r0100000000. |
93 UnderlineFlag := 2r1000000000. |
94 UnderlineFlag := 2r1000000000. |
94 |
95 |
|
96 self initializeCharacterEncodingToCharacterSetMapping. |
95 self initializeCharacterSetToFontMapping. |
97 self initializeCharacterSetToFontMapping. |
|
98 ! |
|
99 |
|
100 initializeCharacterEncodingToCharacterSetMapping |
|
101 "character encoding" |
|
102 |
|
103 CharacterEncodingToCharacterSetMapping isNil ifTrue:[ |
|
104 CharacterEncodingToCharacterSetMapping := Dictionary new |
|
105 ]. |
|
106 |
|
107 #( |
|
108 'utf7' 'unicode' |
|
109 'utf8' 'unicode' |
|
110 ) pairWiseDo:[:encoding :fontEncoding| |
|
111 CharacterEncodingToCharacterSetMapping at:encoding put:fontEncoding |
|
112 ]. |
96 ! |
113 ! |
97 |
114 |
98 initializeCharacterSetToFontMapping |
115 initializeCharacterSetToFontMapping |
99 "character sets" |
116 "character sets" |
100 |
117 |
101 CharacterSetToFontMapping isNil ifTrue:[ |
118 CharacterSetToFontMapping isNil ifTrue:[ |
102 CharacterSetToFontMapping := Dictionary new |
119 CharacterSetToFontMapping := Dictionary new |
103 ]. |
120 ]. |
104 |
121 |
105 #( |
122 #( |
|
123 'unicode' 'iso10646-*' |
|
124 |
|
125 'koi8-r' 'iso8859-5' |
|
126 |
106 'iso2022-jp' 'jis*0208*' |
127 'iso2022-jp' 'jis*0208*' |
107 'x-iso2022-jp' 'jis*0208*' |
128 'x-iso2022-jp' 'jis*0208*' |
108 'x-euc-jp' 'jis*0208*' |
129 'x-euc-jp' 'jis*0208*' |
109 'x-shift-jis' 'jis*0208*' |
130 'x-shift-jis' 'jis*0208*' |
110 'x-sjis' 'jis*0208*' |
131 'x-sjis' 'jis*0208*' |
269 |
290 |
270 "Modified: 30.4.1996 / 17:23:09 / cg" |
291 "Modified: 30.4.1996 / 17:23:09 / cg" |
271 ! ! |
292 ! ! |
272 |
293 |
273 !FontDescription class methodsFor:'queries'! |
294 !FontDescription class methodsFor:'queries'! |
|
295 |
|
296 characterSetForCharacterEncoding:encodingName |
|
297 "return the font-encoding for a character encoding" |
|
298 |
|
299 ^ CharacterEncodingToCharacterSet at:encodingName ifAbsent:nil |
|
300 |
|
301 " |
|
302 FontDescription characterSetForCharacterEncoding:'ucs8' |
|
303 " |
|
304 ! |
274 |
305 |
275 fontNamePatternForCharset:aCharSetName |
306 fontNamePatternForCharset:aCharSetName |
276 "return the font-encoding for an iso-charset" |
307 "return the font-encoding for an iso-charset" |
277 |
308 |
278 ^ CharacterSetToFontMapping at:aCharSetName ifAbsent:nil |
309 ^ CharacterSetToFontMapping at:aCharSetName ifAbsent:nil |