From 8d1a84efea3729ef0849fff9d88a92d3464bbd3b Mon Sep 17 00:00:00 2001 From: treeform Date: Tue, 7 Sep 2021 09:55:01 -0700 Subject: [PATCH 1/3] Fix strikethough and underline for CFF fonts with winding order flag. --- src/pixie/fontformats/opentype.nim | 6 ++++++ src/pixie/fonts.nim | 12 ++++++++++-- tests/fonts/diffs/cff_strikethrough.png | Bin 16344 -> 15808 bytes tests/fonts/diffs/cff_underline.png | Bin 15650 -> 15642 bytes tests/fonts/rendered/cff_strikethrough.png | Bin 16880 -> 16537 bytes tests/fonts/rendered/cff_underline.png | Bin 16238 -> 16252 bytes 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/pixie/fontformats/opentype.nim b/src/pixie/fontformats/opentype.nim index 3f5e94b..98b7d74 100644 --- a/src/pixie/fontformats/opentype.nim +++ b/src/pixie/fontformats/opentype.nim @@ -2415,6 +2415,12 @@ proc getKerningAdjustment*( elif opentype.kern != nil: result = opentype.kern.kerningPairs.getOrDefault(glyphPair, 0) +proc getWindingOrder*(opentype: OpenType): bool = + ## Returns the expected winding order of a font. + ## Gyph - false - clockwise + ## CFF - true - counterclockwise + return opentype.cff == nil + proc parseOpenType*(buf: string): OpenType {.raises: [PixieError].} = result = OpenType() result.buf = buf diff --git a/src/pixie/fonts.nim b/src/pixie/fonts.nim index f80667d..2482cb5 100644 --- a/src/pixie/fonts.nim +++ b/src/pixie/fonts.nim @@ -92,6 +92,12 @@ proc strikeoutThickness(typeface: Typeface): float32 = if typeface.opentype != nil: result = typeface.opentype.os2.yStrikeoutSize.float32 +proc getWindingOrder(typeface: Typeface): bool = + ## Returns the expected winding order of a font. + if typeface.opentype != nil: + return typeface.opentype.getWindingOrder() + return true + proc getGlyphPath*( typeface: Typeface, rune: Rune ): Path {.inline, raises: [PixieError].} = @@ -478,14 +484,16 @@ proc textUber( arrangement.selectionRects[runeIndex].x, position.y - underlinePosition + underlineThickness / 2, arrangement.selectionRects[runeIndex].w, - underlineThickness + underlineThickness, + font.typeface.getWindingOrder() ) if font.strikethrough: path.rect( arrangement.selectionRects[runeIndex].x, position.y - strikeoutPosition, arrangement.selectionRects[runeIndex].w, - strikeoutThickness + strikeoutThickness, + font.typeface.getWindingOrder() ) when stroke: diff --git a/tests/fonts/diffs/cff_strikethrough.png b/tests/fonts/diffs/cff_strikethrough.png index ef7d4dad871ea510b1757a3d3648f16f9f038d8b..a037a166f505f1c507faaa0bba5784251e92f18e 100644 GIT binary patch literal 15808 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 Ql-X!7Wlg0T1*@R{1IhBqYybcN literal 16344 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 delta 14892 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ࠇYAwe%o{mMG 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 ap%1RBDE>~ho;{4e4XkCP`C8pM{{H}d$<;*w diff --git a/tests/fonts/rendered/cff_strikethrough.png b/tests/fonts/rendered/cff_strikethrough.png index 85e655de58abf5cc061c1ede75170315b3698243..a7a380cf525007ebce596df0bff959e52d3f402c 100644 GIT binary patch literal 16537 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 z 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 diff --git a/tests/fonts/rendered/cff_underline.png b/tests/fonts/rendered/cff_underline.png index 61acca4f9c2fc25e87e8c7d38b66c0e6649dced2..a9271eb235f04ccddba28644e973184ce4d46c89 100644 GIT binary patch literal 16252 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 literal 16238 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 Date: Tue, 7 Sep 2021 12:42:22 -0700 Subject: [PATCH 2/3] Add hasGlyph --- src/pixie/fontformats/opentype.nim | 10 ++++++++-- src/pixie/fontformats/svgfont.nim | 3 +++ src/pixie/fonts.nim | 19 ++++++++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/pixie/fontformats/opentype.nim b/src/pixie/fontformats/opentype.nim index 98b7d74..6ecbc0a 100644 --- a/src/pixie/fontformats/opentype.nim +++ b/src/pixie/fontformats/opentype.nim @@ -1070,6 +1070,9 @@ proc parseCFFCharstring(cff: CffTable, code: string, glyphIndex: int): Path = x += stack.pop() p.moveTo(x, y) + of 23: # vstemhm + parseStems() + of 24: # rcurveline while stack.len > 2: let @@ -2084,6 +2087,9 @@ proc parsePostTable(buf: string, offset: int): PostTable = proc getGlyphId(opentype: OpenType, rune: Rune): uint16 = result = opentype.cmap.runeToGlyphId.getOrDefault(rune, 0) +proc hasGlyph*(opentype: OpenType, rune: Rune): bool = + rune in opentype.cmap.runeToGlyphId + proc parseGlyfGlyph(opentype: OpenType, glyphId: uint16): Path {.raises: [PixieError].} proc parseGlyphPath( @@ -2415,11 +2421,11 @@ proc getKerningAdjustment*( elif opentype.kern != nil: result = opentype.kern.kerningPairs.getOrDefault(glyphPair, 0) -proc getWindingOrder*(opentype: OpenType): bool = +proc isCCW*(opentype: OpenType): bool {.inline.} = ## Returns the expected winding order of a font. ## Gyph - false - clockwise ## CFF - true - counterclockwise - return opentype.cff == nil + opentype.cff == nil proc parseOpenType*(buf: string): OpenType {.raises: [PixieError].} = result = OpenType() diff --git a/src/pixie/fontformats/svgfont.nim b/src/pixie/fontformats/svgfont.nim index e6ab769..1370b05 100644 --- a/src/pixie/fontformats/svgfont.nim +++ b/src/pixie/fontformats/svgfont.nim @@ -11,6 +11,9 @@ type SvgFont* = ref object proc getGlyphPath*(svgFont: SvgFont, rune: Rune): Path {.raises: [].} = svgFont.glyphPaths.getOrDefault(rune, svgFont.missingGlyphPath) +proc hasGlyph*(svgFont: SvgFont, rune: Rune): bool = + rune in svgFont.glyphPaths + proc getAdvance*(svgFont: SvgFont, rune: Rune): float32 {.raises: [].} = svgFont.advances.getOrDefault(rune, svgFont.missingGlyphAdvance) diff --git a/src/pixie/fonts.nim b/src/pixie/fonts.nim index 2482cb5..538aa34 100644 --- a/src/pixie/fonts.nim +++ b/src/pixie/fonts.nim @@ -92,11 +92,10 @@ proc strikeoutThickness(typeface: Typeface): float32 = if typeface.opentype != nil: result = typeface.opentype.os2.yStrikeoutSize.float32 -proc getWindingOrder(typeface: Typeface): bool = +proc isCCW(typeface: Typeface): bool {.inline.} = ## Returns the expected winding order of a font. if typeface.opentype != nil: - return typeface.opentype.getWindingOrder() - return true + return typeface.opentype.isCCW() proc getGlyphPath*( typeface: Typeface, rune: Rune @@ -109,6 +108,16 @@ proc getGlyphPath*( else: result.addPath(typeface.svgFont.getGlyphPath(rune)) +proc hasGlyph*(typeface: Typeface, rune: Rune): bool {.inline.} = + ## Returns if there is a glyph for this rune. + if rune.uint32 > SP.uint32: # Empty paths for control runes (not tofu) + if typeface.opentype != nil: + typeface.opentype.hasGlyph(rune) + else: + typeface.svgFont.hasGlyph(rune) + else: + false + proc getAdvance*(typeface: Typeface, rune: Rune): float32 {.inline, raises: [].} = ## The advance for the rune in pixels. if typeface.opentype != nil: @@ -485,7 +494,7 @@ proc textUber( position.y - underlinePosition + underlineThickness / 2, arrangement.selectionRects[runeIndex].w, underlineThickness, - font.typeface.getWindingOrder() + font.typeface.isCCW() ) if font.strikethrough: path.rect( @@ -493,7 +502,7 @@ proc textUber( position.y - strikeoutPosition, arrangement.selectionRects[runeIndex].w, strikeoutThickness, - font.typeface.getWindingOrder() + font.typeface.isCCW() ) when stroke: From a127f42dfdc662bc17d8d13919d49cf0473fa8bd Mon Sep 17 00:00:00 2001 From: treeform Date: Tue, 7 Sep 2021 12:53:09 -0700 Subject: [PATCH 3/3] add hasGlyph --- bindings/bindings.nim | 1 + 1 file changed, 1 insertion(+) diff --git a/bindings/bindings.nim b/bindings/bindings.nim index 82600b3..e4d5fc7 100644 --- a/bindings/bindings.nim +++ b/bindings/bindings.nim @@ -192,6 +192,7 @@ exportRefObject Typeface: descent lineGap lineHeight + hasGlyph getGlyphPath getAdvance getKerningAdjustment