From cec3263c77e8a0f2acfecf6c01210e44a81c59bd Mon Sep 17 00:00:00 2001 From: John McWilliams <37010132+jmcwilliams403@users.noreply.github.com> Date: Sun, 25 May 2025 17:54:49 -0400 Subject: [PATCH] Add serifs to Latin Lower Lambda under Slab. (#2782) --- build-plans.toml | 1 + .../font-glyphs/src/letter/latin/lower-y.ptl | 34 ++++++++++++++----- params/variants.toml | 16 +++++++-- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/build-plans.toml b/build-plans.toml index d8887fe66..2583c7a95 100644 --- a/build-plans.toml +++ b/build-plans.toml @@ -783,6 +783,7 @@ w = "straight-almost-flat-top-serifed" long-s = "flat-hook-bottom-serifed" eszet = "longs-s-lig-bottom-serifed" lower-iota = "serifed-flat-tailed" +lower-lambda = "straight-turn" lower-tau = "short-tailed" cyrl-ef = "split-serifed" four = "closed-serifed" diff --git a/packages/font-glyphs/src/letter/latin/lower-y.ptl b/packages/font-glyphs/src/letter/latin/lower-y.ptl index 97b905de3..f5bc634f7 100644 --- a/packages/font-glyphs/src/letter/latin/lower-y.ptl +++ b/packages/font-glyphs/src/letter/latin/lower-y.ptl @@ -233,10 +233,15 @@ glyph-block Letter-Latin-Lower-Y : begin right.splitMask top bottom Rect (bottom + HalfStroke) (bottom - top) 0 Width - if doSlabTop : include : let [sf : SerifFrame.fromDf [DivFrame 1] top bottom] - composite-proc sf.lt.full sf.rt.full - if doSlabBottom : include : right.baseSerif top bottom - if doSlabMotion : include : HSerif.lt SB top SideJut + if doSlabTop + let [sf : SerifFrame.fromDf [DivFrame 1] top bottom] : composite-proc sf.lt.full sf.rt.full + no-shape + if doSlabBottom + right.baseSerif top bottom + no-shape + if doSlabMotion + HSerif.lt SB top SideJut + no-shape export : define [SmallYHookTopShape top bottom] : glyph-proc local right : RightHalf TS-HOOKTOP SHRINK-NONE @@ -264,9 +269,15 @@ glyph-block Letter-Latin-Lower-Y : begin right.splitMask top bottom Rect (bottom + HalfStroke) (bottom - top) 0 Width - if doSlabTop : include : let [sf : SerifFrame.fromDf [DivFrame 1] top bottom] sf.lt.full - if doSlabBottom : include : right.baseSerif top bottom - if doSlabMotion : include : HSerif.lt SB top SideJut + if doSlabTop + let [sf : SerifFrame.fromDf [DivFrame 1] top bottom] sf.lt.full + no-shape + if doSlabBottom + right.baseSerif top bottom + no-shape + if doSlabMotion + HSerif.lt SB top SideJut + no-shape export : define [SmallLambdaShape top bottom] : union : glyph-proc set currentGlyph.gizmo : Italify (-para.slopeAngle) @@ -293,6 +304,7 @@ glyph-block Letter-Latin-Lower-Y : begin turn BS-TURN loop BS-LOOP object # serifs + "" SLAB-AUTO serifless SLAB-NONE serifed SLAB-ALL motionSerifed SLAB-MOTION @@ -336,8 +348,12 @@ glyph-block Letter-Latin-Lower-Y : begin set-base-anchor 'strike' Middle (XH / 2 - Descender) include : Shapes.SmallYShape CAP 0 + alias 'grek/lambda.tailedTurn' null 'grek/lambdaFHT.straightTurn' + alias 'latn/lambdaStroke.tailedTurn' null 'latn/lambdaStrokeFHT.straightTurn' alias 'grek/lambda.tailedTurnSerifless' null 'grek/lambdaFHT.straightTurnSerifless' alias 'latn/lambdaStroke.tailedTurnSerifless' null 'latn/lambdaStrokeFHT.straightTurnSerifless' + alias 'grek/lambda.curlyTailedTurn' null 'grek/lambdaFHT.curlyTurn' + alias 'latn/lambdaStroke.curlyTailedTurn' null 'latn/lambdaStrokeFHT.curlyTurn' alias 'grek/lambda.curlyTailedTurnSerifless' null 'grek/lambdaFHT.curlyTurnSerifless' alias 'latn/lambdaStroke.curlyTailedTurnSerifless' null 'latn/lambdaStrokeFHT.curlyTurnSerifless' @@ -431,8 +447,8 @@ glyph-block Letter-Latin-Lower-Y : begin select-variant 'yLoop' 0x1EFF (shapeFrom -- 'y') select-variant 'grek/lambda' 0x3BB - alias 'latn/lambda' 0xA7DB 'grek/lambda' - select-variant 'latn/lambdaStroke' 0x19B (follow -- 'grek/lambda') + select-variant 'latn/lambda' 0xA7DB (shapeFrom -- 'grek/lambda') + select-variant 'latn/lambdaStroke' 0x19B (follow -- 'latn/lambda') # Blackboard glyph-block-import Letter-Blackboard : BBS BBD diff --git a/params/variants.toml b/params/variants.toml index 5b387fff7..50f49d445 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -6213,31 +6213,37 @@ tagKind = "letter" rank = 1 description = "More-straight Greek lower Lambda (`λ`)" selector."grek/lambda" = "straightSerifless" +selector."latn/lambda" = "straight" [prime.lower-lambda.variants.straight-turn] rank = 2 description = "Greek lower Lambda (`λ`) with straight upper and a tail turns leftward" selector."grek/lambda" = "straightTurnSerifless" +selector."latn/lambda" = "straightTurn" [prime.lower-lambda.variants.tailed-turn] rank = 3 description = "More curly Greek lower Lambda (`λ`), with a tail turns leftward at top and a tail turns right at bottom-right" selector."grek/lambda" = "tailedTurnSerifless" +selector."latn/lambda" = "tailedTurn" [prime.lower-lambda.variants.curly] rank = 4 description = "More curly Greek lower Lambda (`λ`), like Iosevka 2.x" selector."grek/lambda" = "curlySerifless" +selector."latn/lambda" = "curly" [prime.lower-lambda.variants.curly-turn] rank = 5 description = "More curly Greek lower Lambda (`λ`), like Iosevka 2.x, with a tail turns leftward" selector."grek/lambda" = "curlyTurnSerifless" +selector."latn/lambda" = "curlyTurn" [prime.lower-lambda.variants.curly-tailed-turn] rank = 6 description = "More curly Greek lower Lambda (`λ`), with a tail turns leftward at top, a tail turns right at bottom-right, and curly bottom-left leg" selector."grek/lambda" = "curlyTailedTurnSerifless" +selector."latn/lambda" = "curlyTailedTurn" @@ -9411,7 +9417,6 @@ z = "cursive" long-s = "flat-hook-tailed" eszet = "sulzbacher-tailed-serifless" lower-kappa = "straight-top-left-serifed" -lower-lambda = "straight" lower-mu = "tailed-motion-serifed" cyrl-a = "single-storey-tailed" cyrl-ve = "cursive" @@ -10187,6 +10192,10 @@ lower-pi = "tailless" lower-tau = "tailless" cyrl-a = "double-storey-serifless" cyrl-ve = "standard-serifless" +cyrl-capital-zhe = "symmetric-touching" +cyrl-zhe = "symmetric-touching" +cyrl-capital-ka = "symmetric-touching-serifless" +cyrl-ka = "symmetric-touching-serifless" cyrl-capital-u = "straight-turn-serifless" cyrl-u = "straight-turn-serifless" cyrl-ef = "serifless" @@ -10240,7 +10249,8 @@ lower-mu = "toothed-serifed" cyrl-a = "double-storey-serifed" cyrl-ve = "standard-bilateral-serifed" cyrl-ze = "unilateral-serifed" -cyrl-ka = "symmetric-connected-serifed" +cyrl-capital-ka = "symmetric-touching-serifed" +cyrl-ka = "symmetric-touching-serifed" cyrl-capital-u = "straight-turn-serifed" cyrl-u = "straight-turn-serifed" cyrl-ef = "serifed" @@ -11105,6 +11115,7 @@ tag = "ss15" description = "IBM Plex Mono Style" [composite.ss15.design] +capital-d = "more-rounded-serifless" capital-i = "serifed" capital-j = "serifed" capital-m = "hanging-serifless" @@ -11197,6 +11208,7 @@ cyrl-yery = "cursive" ampersand = "closed" [composite.ss15.slab-override.design] +capital-d = "more-rounded-bilateral-serifed" capital-m = "hanging-serifed" capital-v = "straight-serifed" capital-w = "straight-serifed"