Improve Cedilla placement and connection in T-Cedilla (#737).
This commit is contained in:
parent
515a3d25af
commit
1425bc750e
3 changed files with 48 additions and 12 deletions
|
@ -158,6 +158,21 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
define [FlatHookDepthImpl sHook sStroke] : begin
|
define [FlatHookDepthImpl sHook sStroke] : begin
|
||||||
return : Math.max (sHook * Hook) (sStroke * Stroke * 1.375) : Math.min (sHook * Hook) (sStroke * Stroke * 1.75)
|
return : Math.max (sHook * Hook) (sStroke * Stroke * 1.375) : Math.min (sHook * Hook) (sStroke * Stroke * 1.75)
|
||||||
|
|
||||||
|
glyph-block-export ConnectedCedilla
|
||||||
|
define [ConnectedCedilla src sel] : glyph-proc
|
||||||
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
include : difference
|
||||||
|
new-glyph : glyph-proc
|
||||||
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
currentGlyph.clearGeometry
|
||||||
|
include : refer-glyph 'cedillaExtShapeBelow'
|
||||||
|
WithTransform [Translate (Stroke * 0.25 * TanSlope) (Stroke * 0.25)] [refer-glyph src]
|
||||||
|
WithTransform [Translate (Stroke * 0.50 * TanSlope) (Stroke * 0.50)] [refer-glyph src]
|
||||||
|
WithTransform [Translate (Stroke * 0.75 * TanSlope) (Stroke * 0.75)] [refer-glyph src]
|
||||||
|
WithTransform [Translate (Stroke * 1.00 * TanSlope) (Stroke * 1.00)] [refer-glyph src]
|
||||||
|
WithTransform [Translate (Stroke * 1.25 * TanSlope) (Stroke * 1.25)] [refer-glyph src]
|
||||||
|
include : refer-glyph 'blankBelow'
|
||||||
|
|
||||||
glyph-block Letter-Latin-Upper-I : begin
|
glyph-block Letter-Latin-Upper-I : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
|
@ -6305,7 +6320,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared : CreateCommaCaronComposition
|
glyph-block-import Letter-Shared : CreateCommaCaronComposition
|
||||||
glyph-block-import Letter-Shared-Shapes : CurlyTail FlatHookDepth
|
glyph-block-import Letter-Shared-Shapes : CurlyTail FlatHookDepth ConnectedCedilla
|
||||||
|
|
||||||
define xSmallTBarLeft : Middle - TBalance - Stroke * 0.5 * HVContrast
|
define xSmallTBarLeft : Middle - TBalance - Stroke * 0.5 * HVContrast
|
||||||
define [SmallTHookShapeT sink offset top bot sw] : begin
|
define [SmallTHookShapeT sink offset top bot sw] : begin
|
||||||
|
@ -6369,6 +6384,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
curl xBarLeft top [heading Upward]
|
curl xBarLeft top [heading Upward]
|
||||||
set-base-anchor 'topright' xCrossRight CAP
|
set-base-anchor 'topright' xCrossRight CAP
|
||||||
set-base-anchor 'overlay' (xBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.6)
|
set-base-anchor 'overlay' (xBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.6)
|
||||||
|
set-base-anchor 'below' (HalfStroke * HVContrast + [Math.min (xBarLeft + hd.x / 2) (xCrossRight - 1)]) 0
|
||||||
|
|
||||||
create-glyph 't.flatHook' : glyph-proc
|
create-glyph 't.flatHook' : glyph-proc
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
|
@ -6415,6 +6431,7 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
include : VBarLeft xSmallTBarLeft 0 CAP
|
include : VBarLeft xSmallTBarLeft 0 CAP
|
||||||
include : HCrossBar.top xSmallTBarLeft (Middle + LongJut) XH
|
include : HCrossBar.top xSmallTBarLeft (Middle + LongJut) XH
|
||||||
set-base-anchor 'overlay' (xSmallTBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.6)
|
set-base-anchor 'overlay' (xSmallTBarLeft + 0.625 * Stroke * HVContrast) (XH * 0.6)
|
||||||
|
set-base-anchor 'below' (xSmallTBarLeft + HalfStroke * HVContrast) 0
|
||||||
|
|
||||||
select-variant 't' 't'
|
select-variant 't' 't'
|
||||||
|
|
||||||
|
@ -6429,6 +6446,8 @@ glyph-block Letter-Latin-Lower-T : begin
|
||||||
|
|
||||||
CreateCommaCaronComposition 't' 'tcaron' 0x165
|
CreateCommaCaronComposition 't' 'tcaron' 0x165
|
||||||
|
|
||||||
|
with-related-glyphs 't' 'tCedilla' 0x163 ConnectedCedilla
|
||||||
|
|
||||||
create-glyph 'tltail' 0x1AB : glyph-proc
|
create-glyph 'tltail' 0x1AB : glyph-proc
|
||||||
include : MarkSet.if
|
include : MarkSet.if
|
||||||
include : refer-glyph 't.standard'
|
include : refer-glyph 't.standard'
|
||||||
|
|
|
@ -742,24 +742,37 @@ glyph-block Marks : begin
|
||||||
g4 (right - braceDepth) aboveMarkBot
|
g4 (right - braceDepth) aboveMarkBot
|
||||||
|
|
||||||
### Below marks
|
### Below marks
|
||||||
create-glyph 'cedillaBelow' 0x327 : glyph-proc
|
create-glyph 'blankBelow' : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
set-mark-anchor 'below' markMiddle 0 markMiddle belowMarkBot
|
set-mark-anchor 'below' markMiddle 0 markMiddle belowMarkBot
|
||||||
set-base-anchor 'belowBrace' markMiddle belowMarkMid
|
set-base-anchor 'belowBrace' markMiddle belowMarkMid
|
||||||
|
|
||||||
|
define [CedillaShape ext] : begin
|
||||||
local fine : Math.min markHalfStroke ((belowMarkTop - belowMarkBot) * 0.25)
|
local fine : Math.min markHalfStroke ((belowMarkTop - belowMarkBot) * 0.25)
|
||||||
|
|
||||||
local cedillaTop (belowMarkTop + fine * 0.85)
|
local cedillaTop (belowMarkTop + fine * 0.85)
|
||||||
local cedillaBot belowMarkBot
|
local cedillaBot belowMarkBot
|
||||||
include : dispiro
|
return : union
|
||||||
flat (markMiddle - fine * HVContrast) cedillaTop [widths.heading 0 (fine * 2) Rightward]
|
VBar markMiddle ext (cedillaTop - fine) (fine * 2)
|
||||||
curl markMiddle cedillaTop [heading Rightward]
|
dispiro
|
||||||
archv
|
flat (markMiddle - fine * HVContrast) cedillaTop [widths.heading 0 (fine * 2) Rightward]
|
||||||
g4 (markMiddle + markExtend - O) [mix cedillaTop cedillaBot 0.5] [heading Downward]
|
curl markMiddle cedillaTop [heading Rightward]
|
||||||
arcvh
|
archv
|
||||||
flat markMiddle cedillaBot [heading Leftward]
|
g4 (markMiddle + markExtend - O) [mix cedillaTop cedillaBot 0.5] [heading Downward]
|
||||||
curl (markMiddle - markExtend) cedillaBot [heading Leftward]
|
arcvh
|
||||||
include : VBar markMiddle 0 (cedillaTop - fine) (fine * 2)
|
flat markMiddle cedillaBot [heading Leftward]
|
||||||
|
curl (markMiddle - markExtend) cedillaBot [heading Leftward]
|
||||||
|
|
||||||
|
create-glyph 'cedillaExtShapeBelow' : glyph-proc
|
||||||
|
set-width 0
|
||||||
|
set-mark-anchor 'below' markMiddle 0 markMiddle belowMarkBot
|
||||||
|
set-base-anchor 'belowBrace' markMiddle belowMarkMid
|
||||||
|
include : CedillaShape Stroke
|
||||||
|
|
||||||
|
create-glyph 'cedillaBelow' 0x327 : glyph-proc
|
||||||
|
set-width 0
|
||||||
|
set-mark-anchor 'below' markMiddle 0 markMiddle belowMarkBot
|
||||||
|
set-base-anchor 'belowBrace' markMiddle belowMarkMid
|
||||||
|
include : CedillaShape 0
|
||||||
|
|
||||||
define [OgonekBelowShape] : glyph-proc
|
define [OgonekBelowShape] : glyph-proc
|
||||||
local fine : markHalfStroke * [linreg 16 1 90 0.25 (markHalfStroke * 2)]
|
local fine : markHalfStroke * [linreg 16 1 90 0.25 (markHalfStroke * 2)]
|
||||||
|
|
|
@ -229,6 +229,10 @@ module.exports = class Glyph {
|
||||||
];
|
];
|
||||||
rankSet.add(this);
|
rankSet.add(this);
|
||||||
}
|
}
|
||||||
|
clearGeometry() {
|
||||||
|
this.contours = [];
|
||||||
|
this.semanticInclusions = [];
|
||||||
|
}
|
||||||
|
|
||||||
// Anchors
|
// Anchors
|
||||||
setBaseAnchor(id, x, y) {
|
setBaseAnchor(id, x, y) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue