Skip to content

Commit aa3a1e6

Browse files
authored
Merge pull request #2194 from tesonep/21683-Text-layout-for-ti-broken-in-browser-NautilusCalypso
21683-Text-layout-for-ti-broken-in-browser-NautilusCalypso
2 parents f6862e1 + e98e266 commit aa3a1e6

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

src/EmbeddedFreeType/EmbeddedFreeTypeFontInstaller.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ EmbeddedFreeTypeFontInstaller >> addFromFileContents: bytes baseName: originalF
8080
[ "we use the primNewFaceFromFile:index: method because we want to do this as fast as possible and we don't need the face registered because it will be explicitly destroyed later"
8181
face newFaceFromExternalMemory: externalMem index: i.
8282
face loadFields]
83-
on: FT2Error
83+
on: FT2Error, PrimitiveFailed
8484
do:[:e |
8585
self failedToOpen:face index: i.
8686
^ self].

src/FreeType/FreeTypeFont.class.st

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ FreeTypeFont >> getLinearWidthOf: aCharacter [
321321
face validate.
322322
face setPixelWidth: em height: em.
323323
[face loadCharacter: charCode flags: (LoadNoBitmap bitOr: (LoadIgnoreTransform bitOr: "FreeTypeSettings current hintingFlags" 2 "no hinting"))]
324-
on: FT2Error do:[:e |
324+
on: FT2Error , PrimitiveFailed do:[:e |
325325
face loadGlyph: 0 flags: (LoadNoBitmap bitOr: (LoadIgnoreTransform bitOr: FreeTypeSettings current hintingFlags "no hinting")) ].
326326
glyph := face glyph.
327327
la := glyph linearHorizontalAdvance.
@@ -363,7 +363,7 @@ FreeTypeFont >> getWidthOf: aCharacter [
363363
hintingFlags := FreeTypeSettings current hintingFlags.
364364
flags := LoadNoBitmap bitOr:( LoadIgnoreTransform bitOr: hintingFlags).
365365
[face loadCharacter: charCode flags: flags.
366-
] on:FT2Error do:[:e | "character not in map?"^0].
366+
] on:FT2Error, PrimitiveFailed do:[:e | "character not in map?"^0].
367367
glyph := face glyph.
368368
"When not hinting FreeType sets the advance to the truncated linearAdvance.
369369
The characters appear squashed together. Rounding is probably better, so we

src/FreeType/FreeTypeFontProvider.class.st

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -380,12 +380,10 @@ FreeTypeFontProvider >> platformImageRelativeDirectories [
380380

381381
{ #category : #'file paths' }
382382
FreeTypeFontProvider >> platformVMRelativeDirectories [
383-
384-
| directory |
385-
directory := Smalltalk vm path asFileReference / 'Fonts'.
386-
directory exists
387-
ifTrue: [ ^ { directory } ].
388-
^ #()
383+
| directory |
384+
directory := Smalltalk vm directory asFileReference / 'Fonts'.
385+
directory exists ifTrue: [ ^{directory} ].
386+
^#()
389387
]
390388

391389
{ #category : #'loading and updating' }
@@ -503,7 +501,7 @@ FreeTypeFontProvider >> updateFromFile: aFile [
503501
["we use the primNewFaceFromFile:index: method because we want to do this as fast as possible and we don't need the face registered because it will be explicitly destroyed later"
504502
face newFaceFromFile: path index: i.
505503
face loadFields]
506-
on: FT2Error
504+
on: FT2Error, PrimitiveFailed
507505
do: [:e | ^self failedToOpen: face from: path index: i ].
508506
(face height notNil and:[face hasFamilyName and:[face hasStyleName and:[face isValid]]])
509507
ifFalse: [ ^self failedToOpen:face from: path index: i ]

src/FreeType/FreeTypeGlyphRenderer.class.st

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,13 @@ FreeTypeGlyphRenderer >> renderGlyph: aCharacter depth: depth subpixelPosition:
177177
hintingFlags := FreeTypeSettings current hintingFlags.
178178
flags := LoadNoBitmap bitOr:( LoadIgnoreTransform bitOr: hintingFlags).
179179
face loadCharacter:charCode flags: flags]
180-
on: FT2Error do:[:e |
180+
on: FT2Error, PrimitiveFailed do:[:e |
181181
^(GlyphForm extent: 0@0 depth: depth)
182182
advance: 0@0;
183183
linearAdvance: 0@0;
184184
offset:0@0;
185-
yourself].
185+
yourself].
186+
186187
glyph := face glyph.
187188
slant := aFreeTypeFont simulatedItalicSlant.
188189
extraWidth := (glyph height * slant) abs ceiling.

src/FreeType/FreeTypeSubPixelAntiAliasedGlyphRenderer.class.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ FreeTypeSubPixelAntiAliasedGlyphRenderer >> renderStretchedGlyph: aCharacter dep
128128
hintingFlags := FreeTypeSettings current hintingFlags.
129129
flags := LoadNoBitmap bitOr:( LoadIgnoreTransform bitOr: hintingFlags).
130130
face loadCharacter:charCode flags: flags.
131-
] on: FT2Error do:[:e |
131+
] on: FT2Error, PrimitiveFailed do:[:e |
132132
^(GlyphForm extent: 0@0 depth: depth)
133133
advance: 0@0;
134134
linearAdvance: 0@0;

0 commit comments

Comments
 (0)