Refine shape of Latin Lower FFI.

This commit is contained in:
John McWilliams 2025-03-16 10:04:27 -04:00
parent 551eddfc29
commit 848089960c
4 changed files with 22 additions and 8 deletions

View file

@ -1,3 +1,4 @@
* Refine shape of the following characters: * Refine shape of the following characters:
- ARMENIAN SMALL LIGATURE ECH YIWN (`U+0587`). - ARMENIAN SMALL LIGATURE ECH YIWN (`U+0587`).
- LATIN CAPITAL LETTER AU (`U+A736`). - LATIN CAPITAL LETTER AU (`U+A736`).
- LATIN SMALL LIGATURE FFI (`U+FB03`).

View file

@ -1621,7 +1621,7 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
createPhoneticLigatures ToLetter 'phonetic1' [Math.max 1 : para.advanceScaleF * para.advanceScaleMM] 2 stdShrink 1 : list createPhoneticLigatures ToLetter 'phonetic1' [Math.max 1 : para.advanceScaleF * para.advanceScaleMM] 2 stdShrink 1 : list
list 0xFB00 { 'f' 'f' } null list 0xFB00 { 'f' 'f' } null
list 0xFB01 { 'f/compLigLeft1' 'dotlessi/compLigRight' } null list 0xFB01 { 'f/compLigLeft1' 'dotlessi/compLigRight' } null
list 0xFB02 { 'f/compLigLeft2' 'l/compLigRight' } null list 0xFB02 { 'f/compLigLeft3' 'l/compLigRight' } null
createPhoneticLigatures ToLetter 'phonetic2' para.advanceScaleMM 2 stdShrink 1 : list createPhoneticLigatures ToLetter 'phonetic2' para.advanceScaleMM 2 stdShrink 1 : list
list 0x02A3 { 'd/phoneticLeft' 'z/phoneticRight' } 'b' list 0x02A3 { 'd/phoneticLeft' 'z/phoneticRight' } 'b'
@ -1643,8 +1643,8 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
list 0xFB06 { 's/compLigLeft' 't/compLigRight' } null list 0xFB06 { 's/compLigLeft' 't/compLigRight' } null
createPhoneticLigatures ToLetter 'phonetic3' [Math.max para.advanceScaleMM : para.advanceScaleF * [mix 1 para.advanceScaleMM 2]] 3 stdShrink 1 : list createPhoneticLigatures ToLetter 'phonetic3' [Math.max para.advanceScaleMM : para.advanceScaleF * [mix 1 para.advanceScaleMM 2]] 3 stdShrink 1 : list
list 0xFB03 { 'f/compLigLeft1' 'f/compLigLeft1' 'dotlessi/compLigRight' } null list 0xFB03 { 'f/compLigLeft2' 'f/compLigLeft1' 'dotlessi/compLigRight' } null
list 0xFB04 { 'f/compLigLeft3' 'f/compLigLeft2' 'l/compLigRight' } null list 0xFB04 { 'f/compLigLeft4' 'f/compLigLeft3' 'l/compLigRight' } null
createPhoneticLigatures ToLetter 'phoneticSmcp' (para.advanceScaleM * para.advanceScaleMM) 3 1 0.5 : list createPhoneticLigatures ToLetter 'phoneticSmcp' (para.advanceScaleM * para.advanceScaleMM) 3 1 0.5 : list
list 0x2121 { 'smcpT' 'smcpE' 'smcpL' } 'e' list 0x2121 { 'smcpT' 'smcpE' 'smcpL' } 'e'

View file

@ -13,7 +13,7 @@ glyph-block Letter-Latin-Lower-F : begin
glyph-block-import Letter-Shared-Shapes : LetterBarOverlay PalatalHook glyph-block-import Letter-Shared-Shapes : LetterBarOverlay PalatalHook
define [SetPalatalHookPos barLeft] : glyph-proc define [SetPalatalHookPos barLeft] : glyph-proc
set-base-anchor 'palatalHookPos' (barLeft + [HSwToV : Stroke + [Math.max VJutStroke (Width / 12)]]) 0 set-base-anchor 'palatalHookPos' (barLeft + [HSwToV : Stroke + [Math.max VJutStroke : Width / 12]]) 0
glyph-block-export fbar glyph-block-export fbar
define fbar : XH * DesignParameters.fBarPosToXH + Stroke * DesignParameters.fbarStrokeAdj define fbar : XH * DesignParameters.fBarPosToXH + Stroke * DesignParameters.fbarStrokeAdj
@ -88,13 +88,15 @@ glyph-block Letter-Latin-Lower-F : begin
[Just 1] Width [Just 1] Width
[Just 2] Jut [Just 2] Jut
[Just 3] Jut [Just 3] Jut
[Just 4] Jut
__ 0 __ 0
local topHookHdExt : match clcStyle local topHookHdExt : match clcStyle
[Just 1] 1 [Just 1] 1
__ 0 __ 0
local crossBarExt : match clcStyle local crossBarExt : match clcStyle
[Just 1] Jut [Just 1] Jut
[Just 3] Jut [Just 2] Jut
[Just 4] Jut
__ 0 __ 0
local barAtCenter : (counterHook === CH-HOOK) || (counterHook === CH-DIAGONAL-HOOK) local barAtCenter : (counterHook === CH-HOOK) || (counterHook === CH-DIAGONAL-HOOK)
@ -144,6 +146,7 @@ glyph-block Letter-Latin-Lower-F : begin
flatHookCLC1 { [NarrowFShape 1] dfNarrowF } flatHookCLC1 { [NarrowFShape 1] dfNarrowF }
flatHookCLC2 { [NarrowFShape 2] dfNarrowF } flatHookCLC2 { [NarrowFShape 2] dfNarrowF }
flatHookCLC3 { [NarrowFShape 3] dfNarrowF } flatHookCLC3 { [NarrowFShape 3] dfNarrowF }
flatHookCLC4 { [NarrowFShape 4] dfNarrowF }
function [body] : object # hooks function [body] : object # hooks
serifless { [if body pNarrowSide 0.95] CH-NONE 'b' } serifless { [if body pNarrowSide 0.95] CH-NONE 'b' }
serifed { [if body pNarrowSide 0.95] CH-SERIF 'b' } serifed { [if body pNarrowSide 0.95] CH-SERIF 'b' }
@ -179,6 +182,7 @@ glyph-block Letter-Latin-Lower-F : begin
select-variant 'f/compLigLeft1' (shapeFrom -- 'f') select-variant 'f/compLigLeft1' (shapeFrom -- 'f')
select-variant 'f/compLigLeft2' (shapeFrom -- 'f') select-variant 'f/compLigLeft2' (shapeFrom -- 'f')
select-variant 'f/compLigLeft3' (shapeFrom -- 'f') select-variant 'f/compLigLeft3' (shapeFrom -- 'f')
select-variant 'f/compLigLeft4' (shapeFrom -- 'f')
select-variant 'f/phoneticLeft' (shapeFrom -- 'f') select-variant 'f/phoneticLeft' (shapeFrom -- 'f')
select-variant 'fPalatalHook' 0x1D82 (follow -- 'f/tailless') select-variant 'fPalatalHook' 0x1D82 (follow -- 'f/tailless')

View file

@ -2726,6 +2726,7 @@ selectorAffix."f/sansSerif" = ""
selectorAffix."f/compLigLeft1" = "flatHookCLC1" selectorAffix."f/compLigLeft1" = "flatHookCLC1"
selectorAffix."f/compLigLeft2" = "flatHookCLC2" selectorAffix."f/compLigLeft2" = "flatHookCLC2"
selectorAffix."f/compLigLeft3" = "flatHookCLC3" selectorAffix."f/compLigLeft3" = "flatHookCLC3"
selectorAffix."f/compLigLeft4" = "flatHookCLC4"
selectorAffix."f/phoneticLeft" = "" selectorAffix."f/phoneticLeft" = ""
selectorAffix."f/tailless" = "" selectorAffix."f/tailless" = ""
selectorAffix.fLenis = "" selectorAffix.fLenis = ""
@ -2739,6 +2740,7 @@ selectorAffix."f/sansSerif" = "flatHook"
selectorAffix."f/compLigLeft1" = "flatHookCLC1" selectorAffix."f/compLigLeft1" = "flatHookCLC1"
selectorAffix."f/compLigLeft2" = "flatHookCLC2" selectorAffix."f/compLigLeft2" = "flatHookCLC2"
selectorAffix."f/compLigLeft3" = "flatHookCLC3" selectorAffix."f/compLigLeft3" = "flatHookCLC3"
selectorAffix."f/compLigLeft4" = "flatHookCLC4"
selectorAffix."f/phoneticLeft" = "flatHook" selectorAffix."f/phoneticLeft" = "flatHook"
selectorAffix."f/tailless" = "flatHook" selectorAffix."f/tailless" = "flatHook"
selectorAffix.fLenis = "flatHook" selectorAffix.fLenis = "flatHook"
@ -2756,6 +2758,7 @@ selectorAffix."f/sansSerif" = "serifless"
selectorAffix."f/compLigLeft1" = "serifless" selectorAffix."f/compLigLeft1" = "serifless"
selectorAffix."f/compLigLeft2" = "serifless" selectorAffix."f/compLigLeft2" = "serifless"
selectorAffix."f/compLigLeft3" = "serifless" selectorAffix."f/compLigLeft3" = "serifless"
selectorAffix."f/compLigLeft4" = "serifless"
selectorAffix."f/phoneticLeft" = "serifless" selectorAffix."f/phoneticLeft" = "serifless"
selectorAffix."f/tailless" = "serifless" selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless" selectorAffix.fLenis = "serifless"
@ -2769,6 +2772,7 @@ selectorAffix."f/sansSerif" = "serifless"
selectorAffix."f/compLigLeft1" = "serifed" selectorAffix."f/compLigLeft1" = "serifed"
selectorAffix."f/compLigLeft2" = "serifed" selectorAffix."f/compLigLeft2" = "serifed"
selectorAffix."f/compLigLeft3" = "serifed" selectorAffix."f/compLigLeft3" = "serifed"
selectorAffix."f/compLigLeft4" = "serifed"
selectorAffix."f/phoneticLeft" = "serifed" selectorAffix."f/phoneticLeft" = "serifed"
selectorAffix."f/tailless" = "serifed" selectorAffix."f/tailless" = "serifed"
selectorAffix.fLenis = "serifless" selectorAffix.fLenis = "serifless"
@ -2782,6 +2786,7 @@ selectorAffix."f/sansSerif" = "extended"
selectorAffix."f/compLigLeft1" = "extended" selectorAffix."f/compLigLeft1" = "extended"
selectorAffix."f/compLigLeft2" = "extended" selectorAffix."f/compLigLeft2" = "extended"
selectorAffix."f/compLigLeft3" = "extended" selectorAffix."f/compLigLeft3" = "extended"
selectorAffix."f/compLigLeft4" = "extended"
selectorAffix."f/phoneticLeft" = "extended" selectorAffix."f/phoneticLeft" = "extended"
selectorAffix."f/tailless" = "serifless" selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless" selectorAffix.fLenis = "serifless"
@ -2795,6 +2800,7 @@ selectorAffix."f/sansSerif" = "tailed"
selectorAffix."f/compLigLeft1" = "tailed" selectorAffix."f/compLigLeft1" = "tailed"
selectorAffix."f/compLigLeft2" = "tailed" selectorAffix."f/compLigLeft2" = "tailed"
selectorAffix."f/compLigLeft3" = "tailed" selectorAffix."f/compLigLeft3" = "tailed"
selectorAffix."f/compLigLeft4" = "tailed"
selectorAffix."f/phoneticLeft" = "tailed" selectorAffix."f/phoneticLeft" = "tailed"
selectorAffix."f/tailless" = "serifless" selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless" selectorAffix.fLenis = "serifless"
@ -2808,6 +2814,7 @@ selectorAffix."f/sansSerif" = "diagonalTailed"
selectorAffix."f/compLigLeft1" = "diagonalTailed" selectorAffix."f/compLigLeft1" = "diagonalTailed"
selectorAffix."f/compLigLeft2" = "diagonalTailed" selectorAffix."f/compLigLeft2" = "diagonalTailed"
selectorAffix."f/compLigLeft3" = "diagonalTailed" selectorAffix."f/compLigLeft3" = "diagonalTailed"
selectorAffix."f/compLigLeft4" = "diagonalTailed"
selectorAffix."f/phoneticLeft" = "diagonalTailed" selectorAffix."f/phoneticLeft" = "diagonalTailed"
selectorAffix."f/tailless" = "serifless" selectorAffix."f/tailless" = "serifless"
selectorAffix.fLenis = "serifless" selectorAffix.fLenis = "serifless"
@ -2819,8 +2826,9 @@ keyAffix = ""
selectorAffix.f = "" selectorAffix.f = ""
selectorAffix."f/sansSerif" = "" selectorAffix."f/sansSerif" = ""
selectorAffix."f/compLigLeft1" = "crossbarAtXHeight" selectorAffix."f/compLigLeft1" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft2" = "" selectorAffix."f/compLigLeft2" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft3" = "" selectorAffix."f/compLigLeft3" = ""
selectorAffix."f/compLigLeft4" = ""
selectorAffix."f/phoneticLeft" = "crossbarAtXHeight" selectorAffix."f/phoneticLeft" = "crossbarAtXHeight"
selectorAffix."f/tailless" = "" selectorAffix."f/tailless" = ""
selectorAffix.fLenis = "" selectorAffix.fLenis = ""
@ -2832,8 +2840,9 @@ descriptionAffix = "crossbar at X-height"
selectorAffix.f = "crossbarAtXHeight" selectorAffix.f = "crossbarAtXHeight"
selectorAffix."f/sansSerif" = "crossbarAtXHeight" selectorAffix."f/sansSerif" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft1" = "crossbarAtXHeight" selectorAffix."f/compLigLeft1" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft2" = "" selectorAffix."f/compLigLeft2" = "crossbarAtXHeight"
selectorAffix."f/compLigLeft3" = "" selectorAffix."f/compLigLeft3" = ""
selectorAffix."f/compLigLeft4" = ""
selectorAffix."f/phoneticLeft" = "crossbarAtXHeight" selectorAffix."f/phoneticLeft" = "crossbarAtXHeight"
selectorAffix."f/tailless" = "crossbarAtXHeight" selectorAffix."f/tailless" = "crossbarAtXHeight"
selectorAffix.fLenis = "crossbarAtXHeight" selectorAffix.fLenis = "crossbarAtXHeight"
@ -4892,7 +4901,7 @@ rank = 3
descriptionAffix = "serifs" descriptionAffix = "serifs"
selectorAffix.w = "serifed" selectorAffix.w = "serifed"
selectorAffix."w/sansSerif" = "serifless" selectorAffix."w/sansSerif" = "serifless"
selectorAffix.wHookTop = "serifed" selectorAffix.wHookTop = { if = [{ body = "straight-double-v" }, { body = "straight-asymmetric" }], then = "motionSerifed", else = "serifed" }