Tobias Pape uploaded a new version of TrueType to project The Trunk:
http://source.squeak.org/trunk/TrueType-topa.34.mcz ==================== Summary ==================== Name: TrueType-topa.34 Author: topa Time: 19 March 2015, 11:51:31.347 am UUID: 2ba0a76c-c23a-4dac-a3aa-b1737dd6ca40 Ancestors: TrueType-topa.33 Fix an initializer, more Unicode =============== Diff against TrueType-topa.33 =============== Item was removed: - ----- Method: TTCFontReader>>processCharacterMappingTable: (in category 'as yet unclassified') ----- - processCharacterMappingTable: entry - "Read the font's character to glyph index mapping table. - If an appropriate mapping can be found then return an association - with the format identifier and the contents of the table" - | copy initialOffset nSubTables pID sID offset cmap assoc | - initialOffset := entry offset. - entry skip: 2. "Skip table version" - nSubTables := entry nextUShort. - 1 to: nSubTables do:[:i| - pID := entry nextUShort. - sID := entry nextUShort. - offset := entry nextULong. - "Check if this is either a Macintosh encoded table - or a Windows encoded table" - (#(0 1 3) includes: pID) ifTrue: [ - (assoc notNil and: [assoc key = pID]) ifFalse: [ - "Go to the beginning of the table" - copy := entry copy. - copy offset: initialOffset + offset. - cmap := self decodeCmapFmtTable: copy. - (pID = 0 and: [cmap notNil]) "Prefer Unicode encoding over everything else" - ifTrue: [^ pID -> cmap]. - "(pID = 1 and: [cmap notNil])" "Prefer Macintosh encoding over everything else" - "ifTrue: [pID -> cmap]." - assoc := pID -> cmap. "Keep it in case we don't find a better table" - ]. - ]. - ]. - ^assoc! Item was changed: ----- Method: TTCFontSet class>>initialize (in category 'class initialization') ----- initialize " self initialize " | tt | tt := TTCFontDescription default. + tt ifNotNil: [self newTextStyleFromTT: {tt}]. - tt ifNotNil: [self newTextStyleFromTT: tt]. ! Item was changed: ----- Method: TTFontReader>>processCharacterMappingTable: (in category 'processing') ----- processCharacterMappingTable: entry "Read the font's character to glyph index mapping table. If an appropriate mapping can be found then return an association with the format identifier and the contents of the table" | copy initialOffset nSubTables pID sID offset cmap assoc | initialOffset := entry offset. entry skip: 2. "Skip table version" nSubTables := entry nextUShort. 1 to: nSubTables do:[:i| pID := entry nextUShort. sID := entry nextUShort. offset := entry nextULong. "Check if this is either a Macintosh encoded table or a Windows encoded table" + (#(0 1 3) includes: pID) ifTrue: [ + (assoc notNil and: [assoc key = pID]) ifFalse: [ + "Go to the beginning of the table" + copy := entry copy. + copy offset: initialOffset + offset. + cmap := self decodeCmapFmtTable: copy. + (pID = 0 and: [cmap notNil]) "Prefer Unicode encoding over everything else" + ifTrue: [^ pID -> cmap]. + "(pID = 1 and: [cmap notNil])" "Prefer Macintosh encoding over everything else" + "ifTrue: [pID -> cmap]." + assoc := pID -> cmap. "Keep it in case we don't find a better table" + ]. - (pID = 1 or:[pID = 3]) ifTrue:[ - "Go to the beginning of the table" - copy := entry copy. - copy offset: initialOffset + offset. - cmap := self decodeCmapFmtTable: copy. - (pID = 3 and: [cmap notNil]) "Prefer Windows encoding over everything else" - ifTrue: [^ pID -> cmap]. - assoc := pID -> cmap. "Keep it in case we don't find a Mac encoded table" ]. ]. ^assoc! |
Free forum by Nabble | Edit this page |