FontDescription.st
changeset 3987 796ff0ae8306
parent 3880 c4c8268a2d9f
child 3989 2c5d10db69ec
equal deleted inserted replaced
3986:b0f556e670a0 3987:796ff0ae8306
    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
  1035 ! !
  1066 ! !
  1036 
  1067 
  1037 !FontDescription class methodsFor:'documentation'!
  1068 !FontDescription class methodsFor:'documentation'!
  1038 
  1069 
  1039 version
  1070 version
  1040     ^ '$Header: /cvs/stx/stx/libview/FontDescription.st,v 1.46 2003-05-07 14:32:08 cg Exp $'
  1071     ^ '$Header: /cvs/stx/stx/libview/FontDescription.st,v 1.47 2004-02-05 22:22:21 cg Exp $'
  1041 ! !
  1072 ! !
  1042 
  1073 
  1043 FontDescription initialize!
  1074 FontDescription initialize!