FontDescription.st
changeset 3987 796ff0ae8306
parent 3880 c4c8268a2d9f
child 3989 2c5d10db69ec
--- a/FontDescription.st	Wed Feb 04 00:27:49 2004 +0100
+++ b/FontDescription.st	Thu Feb 05 23:22:21 2004 +0100
@@ -16,7 +16,8 @@
 	instanceVariableNames:'family face style size encoding manufacturer name flags masks
 		pixelSize'
 	classVariableNames:'BoldnessMask FixedFlag ItalicFlag OutlineFlag SerifFlag
-		ShadowFlag StrikeoutFlag UnderlineFlag CharacterSetToFontMapping'
+		ShadowFlag StrikeoutFlag UnderlineFlag CharacterSetToFontMapping
+		CharacterEncodingToCharacterSetMapping'
 	poolDictionaries:''
 	category:'Graphics-Support'
 !
@@ -92,9 +93,25 @@
     StrikeoutFlag := 2r0100000000.
     UnderlineFlag := 2r1000000000.
 
+    self initializeCharacterEncodingToCharacterSetMapping.
     self initializeCharacterSetToFontMapping.
 !
 
+initializeCharacterEncodingToCharacterSetMapping
+    "character encoding"
+
+    CharacterEncodingToCharacterSetMapping isNil ifTrue:[
+        CharacterEncodingToCharacterSetMapping := Dictionary new
+    ].
+
+    #(
+        'utf7'      'unicode'
+        'utf8'      'unicode'
+    ) pairWiseDo:[:encoding :fontEncoding|
+         CharacterEncodingToCharacterSetMapping at:encoding put:fontEncoding
+    ].
+!
+
 initializeCharacterSetToFontMapping
     "character sets"
 
@@ -103,6 +120,10 @@
     ].
 
     #(
+        'unicode'      'iso10646-*'
+
+        'koi8-r'       'iso8859-5'
+
         'iso2022-jp'   'jis*0208*'
         'x-iso2022-jp' 'jis*0208*'
         'x-euc-jp'     'jis*0208*'
@@ -272,6 +293,16 @@
 
 !FontDescription class methodsFor:'queries'!
 
+characterSetForCharacterEncoding:encodingName
+    "return the font-encoding for a character encoding"
+
+    ^ CharacterEncodingToCharacterSet at:encodingName ifAbsent:nil
+
+    "
+     FontDescription characterSetForCharacterEncoding:'ucs8'     
+    "
+!
+
 fontNamePatternForCharset:aCharSetName
     "return the font-encoding for an iso-charset"
 
@@ -1037,7 +1068,7 @@
 !FontDescription class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/FontDescription.st,v 1.46 2003-05-07 14:32:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/FontDescription.st,v 1.47 2004-02-05 22:22:21 cg Exp $'
 ! !
 
 FontDescription initialize!