Skip to content

Commit

Permalink
Merge branch 'dev' into prerelease
Browse files Browse the repository at this point in the history
  • Loading branch information
be5invis committed Jun 10, 2023
2 parents d02df4f + e02d019 commit 8edf88a
Show file tree
Hide file tree
Showing 2,254 changed files with 3,361 additions and 4,389 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
## Modifications since version 2.x

### 24.1.2

* Add characters
- LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL (`U+AB36`).
- LATIN SMALL LETTER M WITH CROSSED-TAIL (`U+AB3A`).
- LATIN SMALL LETTER N WITH CROSSED-TAIL (`U+AB3B`).
- LATIN SMALL LETTER ENG WITH CROSSED-TAIL (`U+AB3C`).
- MODIFIER LETTER SMALL S WITH CURL (`U+107BA`).
- LATIN SMALL LETTER S WITH CURL (`U+1DF1E`).
* Fix broken geometry of CYRILLIC CAPITAL LETTER ZHWE (`U+A684`) and CYRILLIC SMALL LETTER ZHWE (`U+A685`) under some settings of `cv63` and `cv64` (#1769).
* Improve glyphs of PITCHFORK WITH TEE TOP (`U+2ADA`) ... NONFORKING (`U+2ADD`) such that their terminals are of consistent height with each other.
* Fix alignment in various APL characters (#1771).
* Fix shape and variant selection for LATIN EPIGRAPHIC LETTER SIDEWAYS I (`U+A7F7`) (#1773).
* Fix combining mark anchors for LATIN CAPITAL LETTER UPSILON (`U+01B1`) and LATIN CAPITAL LETTER V WITH HOOK (`U+01B2`).
* Fix combining mark anchors for LATIN SMALL LETTER EZH WITH TAIL (`U+01BA`), LATIN SMALL LETTER D WITH CURL (`U+0221`), LATIN SMALL LETTER EZH WITH CURL (`U+0293`), and LATIN CAPITAL LETTER INSULAR G (`U+A77D`) (#1777).
* Fix shape of bent arrows (#1774).
* Fix placement of marks in phonetic ligatures (#1783).


### 24.1.1

* Add characters
Expand Down
15 changes: 15 additions & 0 deletions changes/24.1.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* Add characters
- LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL (`U+AB36`).
- LATIN SMALL LETTER M WITH CROSSED-TAIL (`U+AB3A`).
- LATIN SMALL LETTER N WITH CROSSED-TAIL (`U+AB3B`).
- LATIN SMALL LETTER ENG WITH CROSSED-TAIL (`U+AB3C`).
- MODIFIER LETTER SMALL S WITH CURL (`U+107BA`).
- LATIN SMALL LETTER S WITH CURL (`U+1DF1E`).
* Fix broken geometry of CYRILLIC CAPITAL LETTER ZHWE (`U+A684`) and CYRILLIC SMALL LETTER ZHWE (`U+A685`) under some settings of `cv63` and `cv64` (#1769).
* Improve glyphs of PITCHFORK WITH TEE TOP (`U+2ADA`) ... NONFORKING (`U+2ADD`) such that their terminals are of consistent height with each other.
* Fix alignment in various APL characters (#1771).
* Fix shape and variant selection for LATIN EPIGRAPHIC LETTER SIDEWAYS I (`U+A7F7`) (#1773).
* Fix combining mark anchors for LATIN CAPITAL LETTER UPSILON (`U+01B1`) and LATIN CAPITAL LETTER V WITH HOOK (`U+01B2`).
* Fix combining mark anchors for LATIN SMALL LETTER EZH WITH TAIL (`U+01BA`), LATIN SMALL LETTER D WITH CURL (`U+0221`), LATIN SMALL LETTER EZH WITH CURL (`U+0293`), and LATIN CAPITAL LETTER INSULAR G (`U+A77D`) (#1777).
* Fix shape of bent arrows (#1774).
* Fix placement of marks in phonetic ligatures (#1783).
282 changes: 141 additions & 141 deletions doc/PACKAGE-LIST.md

Large diffs are not rendered by default.

1,456 changes: 728 additions & 728 deletions doc/packages-sha.txt

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions font-src/glyphs/auto-build/composite.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -1265,7 +1265,7 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
Thinner gs shrink true tfm.crowd tfm.crowdAdjScale

define [LigaturePlaceholderImpl aw markPlacement mak] : begin
define gni : '.phonetic-ligature-placeholder@' + [{ prefix aw markPlacement }.join '/']
define gni : '.phonetic-ligature-placeholder@' + [{ prefix aw markPlacement mak }.join '/']
if [query-glyph gni] : return gni
create-glyph gni : glyph-proc
set-width aw
Expand Down Expand Up @@ -1317,7 +1317,7 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
local maskPos : dfgs.(i).advanceWidth - kern + [if ((i + 1) < effectiveGlyphCount) (dfgs.(i + 1).advanceWidth / 2) ww0]

if (i === 0) : begin
local placeholder : LigaturePlaceholderImpl ww0 baseOffset
local placeholder : LigaturePlaceholderImpl ww0 baseOffset mak
decomposition.push placeholder
include [refer-glyph placeholder] AS_BASE ALSO_METRICS

Expand Down
7 changes: 4 additions & 3 deletions font-src/glyphs/auto-build/transformed.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,9 @@ glyph-block Autobuild-Transformed : begin
list 0x1DB4 'esh'
list 0x1DB5 'tLTail'
list 0x1DB6 'uLongBarOver'
list 0x1DB7 'latinupsilon1'
list 0x1DB7 'latn/upsilon'
list 0x1DB8 'smcpU'
list 0x1DB9 'latinupsilon2'
list 0x1DB9 'vHookTop'
list 0x1DBA 'turnv'
list 0x1DBC 'zRTailBR'
list 0x1DBD 'zCurlyTail'
Expand Down Expand Up @@ -255,9 +255,10 @@ glyph-block Autobuild-Transformed : begin
list 0x107B3 'glottalStopBar'
list 0x10795 'hBar'
list 0x10797 'hHookTopLTail'
list 0x107B0 'vHookTop'
list 0x107B0 'vHookRight'
list 0x107A9 'rFlap'
list 0x107A8 'rRTail'
list 0x107BA 'sCurlyTail'
list 0x10784 'smcpB'
list 0x107AA 'smcpR'
list 0x10796 'smcpH'
Expand Down
2 changes: 1 addition & 1 deletion font-src/glyphs/letter/cyrillic/dzzhe-zhwe.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin

define [ZhweZheShape legShape fSlab df top hook] : glyph-proc
local [object subDf sw] : SubDfDim 0 2 df
local ze : CyrZe 0 0 top 0 subDf.leftSB subDf.rightSB 0.65 hook sw
local ze : CyrZe 0 0 top 0 subDf.leftSB subDf.rightSB 0.65 hook (0.5 * sw)
include : difference [CyrRightZheShape legShape fSlab df top subDf.middle] [ze.ShapeMask]

glyph-block-import Letter-Cyrillic-De : CyrDeItalicShapeT
Expand Down
8 changes: 6 additions & 2 deletions font-src/glyphs/letter/greek/upper-omega.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,9 @@ glyph-block Letter-Greek-Upper-Omega : begin
include : MarkSet.e
include : UpperOmegaShape XH 0.08 SmallArchDepthA SmallArchDepthB

turned 'latinUpsilon1' 0x1B1 'grek/Omega' Middle (CAP / 2)
turned 'latinupsilon1' 0x28A 'grek/smcpOmega' Middle (XH / 2)
create-glyph 'latn/Upsilon' 0x1B1 : glyph-proc
include : MarkSet.capital
include : UpperOmegaShape CAP 0.08 ArchDepthA ArchDepthB
include : FlipAround Middle (CAP / 2)

turned 'latn/upsilon' 0x28A 'grek/smcpOmega' Middle (XH / 2)
7 changes: 4 additions & 3 deletions font-src/glyphs/letter/latin-ext/ezh.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ glyph-block Letter-Latin-Ezh : begin

select-variant 'lyoghRTail' 0x1DF05 (follow -- 'lyogh')

create-glyph 'ezhtail' 0x1BA : glyph-proc
create-glyph 'ezhTail' 0x1BA : glyph-proc
include : MarkSet.p
local b : mix Descender XH 0.25
include : EzhShape XH b (terminalShape -- [HooklessTerminalShape 0.5])
local y : mix [mix b XH 0.6] b 0.5
Expand All @@ -141,8 +142,8 @@ glyph-block Letter-Latin-Ezh : begin
flat [mix SB RightSB 0.4] (Descender + Stroke)
curl RightSB (Descender + Stroke)

create-glyph 'ezhcurlytail' 0x293 : glyph-proc
include : MarkSet.e
create-glyph 'ezhCurlyTail' 0x293 : glyph-proc
include : MarkSet.p
local p : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB)
include : EzhShape XH Descender (terminalShape -- [HooklessTerminalShape p])
local fine : AdviceStroke2 3 5 (XH - Descender)
Expand Down
2 changes: 1 addition & 1 deletion font-src/glyphs/letter/latin-ext/insular-g.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ glyph-block Letter-Latin-Insular-G : begin
include : InsularGShape XH Descender

create-glyph 'GInsular' 0xA77D : glyph-proc
include : MarkSet.p
include : MarkSet.capital
include : InsularGShape CAP 0

turned 'GInsularTurned' 0xA77E 'GInsular' Middle (CAP / 2)
Expand Down
2 changes: 1 addition & 1 deletion font-src/glyphs/letter/latin/lower-d.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ glyph-block Letter-Latin-Lower-D : begin
local m1 : Math.min RightSB (Width - rinner * 2 - fine - OX)
local x2 : mix SB m1 0.5
local y2 : 0 - fine - rinner * 1.25
include : MarkSet.e
include : MarkSet.b
include : OBarRight.shape (left -- SB) (right -- m1)
include : dispiro
widths.rhs
Expand Down
20 changes: 19 additions & 1 deletion font-src/glyphs/letter/latin/lower-g.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ glyph-block Letter-Latin-Lower-G : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared-Shapes : OBarLeft OBarRight DToothlessRise DMBlend
glyph-block-import Letter-Shared-Shapes : FlatHookDepth PalatalHook VerticalHook
glyph-block-import Letter-Shared-Shapes : FlatHookDepth PalatalHook VerticalHook CurlyTail

define [OverlayW bw] : glyph-proc
define l : mix 0 SB 0.3
Expand Down Expand Up @@ -101,6 +101,17 @@ glyph-block Letter-Latin-Lower-G : begin
arcvh.superness DesignParameters.tightHookSuperness
flat (df.rightSB - hd.x) Descender
curl xTerminal Descender
export : define [CrossedHook df y0] : begin
local fine : AdviceStroke 3.5 df.div
local m1 : df.rightSB - df.mvs * HVContrast
local rinner : (-Descender - 2 * fine) / 3
local x2 : mix df.rightSB m1 0.25
local y2 : Descender + O
return : dispiro
widths.rhs df.mvs
flat df.rightSB y0 [heading Downward]
curl df.rightSB (Descender + SmallArchDepthA)
CurlyTail fine rinner m1 Descender df.leftSB x2 y2

export : define [SeriflessBody df top] : glyph-proc
include : OBarRight.shape (top -- top) (left -- df.leftSB) (right -- df.rightSB) (sw -- df.mvs)
Expand Down Expand Up @@ -172,6 +183,12 @@ glyph-block Letter-Latin-Lower-G : begin
include [refer-glyph "g.\(suffix)"] AS_BASE ALSO_METRICS
include : OverlayW [AdviceStroke2 2 4 XH]

create-glyph "gScriptCrossedTail.\(suffix)" : glyph-proc
include : MarkSet.p
set-base-anchor 'overlay' Middle (XH / 2)
define df : DivFrame 1
include : bodyShape df XH
include : SingleStorey.CrossedHook df (XH - hookStart)

select-variant 'g' 'g'
link-reduced-variant 'g/sansSerif' 'g' MathSansSerif
Expand All @@ -182,6 +199,7 @@ glyph-block Letter-Latin-Lower-G : begin
select-variant 'gScript' 0x261 (shapeFrom -- 'g') (follow -- 'gScript')
select-variant 'GScript' 0xA7AC (follow -- 'gScript')
select-variant 'gPalatalHook' 0x1D83 (follow -- 'gScript')
select-variant 'gScriptCrossedTail' 0xAB36


alias 'cyrl/de.SRB' null 'gScript'
Expand Down
28 changes: 26 additions & 2 deletions font-src/glyphs/letter/latin/lower-m.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ glyph-block Letter-Latin-Lower-M : begin
glyph-block-import Letter-Shared : CreateAccentedComposition
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar DToothlessRise DMBlend
glyph-block-import Letter-Shared-Shapes : nShoulder nShoulderMask
glyph-block-import Letter-Shared-Shapes : CyrDescender PalatalHook VerticalHook
glyph-block-import Letter-Shared-Shapes : CyrDescender PalatalHook VerticalHook CurlyTail

define [SmallMSmooth df] : df.div * (0.5 * SmallArchDepth + 0.375 * Stroke)
define [SmallMShoulderSpiro] : with-params [left right top bottom width fine df coBottom] : glyph-proc
Expand Down Expand Up @@ -134,7 +134,7 @@ glyph-block Letter-Latin-Lower-M : begin
curl df.rightSB rbot [heading Downward]

include : tagged 'barL' : VBar.l df.leftSB lbot (top - DToothlessRise) df.mvs
include : tagged 'barM' : VBar.m df.middle mbot (top - DToothlessRise) df.mvs
include : tagged 'barM' : VBar.m df.middle mbot (top - DToothlessRise) df.mvs

define [EarlessRoundedDoubleArchSmallMShape top lbot mbot rbot df] : glyph-proc
include : union
Expand Down Expand Up @@ -235,6 +235,29 @@ glyph-block Letter-Latin-Lower-M : begin
include : FlipAround df.middle ((Width - SB) / 2)
include : Translate 0 (SB / 2)

create-glyph "mCrossedTail.\(suffix)" : glyph-proc
local df : DivFrame para.diversityM 4
set-width df.width
include : df.markSet.e

local fine : AdviceStroke 5.5 df.div
local rinner : XH * 0.15 - fine * 0.75
local m1 : df.rightSB - df.mvs * HVContrast
local m2 : [mix (df.middle + 0.5 * df.mvs * HVContrast) m1 0.35] - 0.5 * fine * HVContrast
local x2 : df.rightSB + SideJut
local y2 : rinner * 2 + fine - O
include : Body XH 0 [if shortLeg [SmallMShortLegHeight XH df] 0] (y2 + O) df
include : dispiro
straight.down.start df.rightSB (y2 + O) [widths.rhs.heading df.mvs Downward]
CurlyTail fine rinner m1 0 m2 x2 y2 (adj -- 0)

include : Serifs df XH 0 [if shortLeg [SmallMShortLegHeight XH df] 0] 0 true earless
if (SLAB && [not shortLeg] && Serifs === FullSerifs) : begin
local sf : SerifFrame.fromDf df XH 0
if (sf.enoughSpaceForFullSerifs && m2 - (df.middle + sf.jutIn) < 0.01 * Width) : begin
eject-contour 'serifMB'
include sf.mb.left

select-variant 'm' 'm'
select-variant 'm/tailless' (shapeFrom -- 'm')
select-variant 'capitalSmallM' (follow -- 'm')
Expand All @@ -256,6 +279,7 @@ glyph-block Letter-Latin-Lower-M : begin
select-variant 'mLTail' 0x271
select-variant 'turnmLeg' 0x270 (follow -- 'm')
select-variant 'turnmSideways' 0x1D1F (follow -- 'm')
select-variant 'mCrossedTail' 0xAB3A (follow -- 'mLTail')

turned 'turnm' 0x26F 'm' HalfAdvance (XH / 2)
turned 'capitalTurnm' 0x19C 'capitalSmallM' HalfAdvance (CAP / 2)
Expand Down
44 changes: 39 additions & 5 deletions font-src/glyphs/letter/latin/lower-n.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ glyph-block Letter-Latin-Lower-N : begin
define [NHTB top] : VBar.l SB 0 top
define [NTopLeftSerif top] : tagged 'serifLT' : HSerif.lt SB top SideJut
define [NBottomLeftSerif y] : tagged 'serifLB' : HSerif.mb (SB + HalfStroke * HVContrast) y Jut
define [NBottomLeftOuterSerif y] : tagged 'serifLB' : HSerif.lb SB y SideJut

define [NBottomRightSerifUpright y] : glyph-proc
include : tagged 'serifRB' : HSerif.mb (RightSB - HalfStroke * HVContrast) y Jut
Expand Down Expand Up @@ -97,14 +98,14 @@ glyph-block Letter-Latin-Lower-N : begin
if sRB : include : sRB 0

create-glyph "eng.\(suffix)" : glyph-proc
include : MarkSet.e
include : MarkSet.p
include : Body XH SB RightSB 0 Stroke
include : VerticalHook.r RightSB 0 (-HookX) Hook
if sLT : include : sLT XH
if sLB : include : sLB 0

create-glyph "nHookBottom.\(suffix)" : glyph-proc
include : MarkSet.e
include : MarkSet.p
include : Body XH SB RightSB 0 Stroke
include : VerticalHook.r RightSB 0 HookX Hook
if sLT : include : sLT XH
Expand All @@ -114,13 +115,13 @@ glyph-block Letter-Latin-Lower-N : begin
include : MarkSet.e
local fine : AdviceStroke 4
local rinner : clamp (Width * 0.065) (XH * 0.05) (fine * 0.35)
local wide : AdviceStroke 3
local sw : AdviceStroke 3
local m1 : Math.min RightSB (Width - rinner * 2 - fine - OX)
local x2 : mix SB m1 0.5
local y2 : -fine
include : Body XH SB m1 (rinner * 2 + fine) wide
include : Body XH SB m1 (rinner * 2 + fine) sw
include : dispiro
straight.down.start m1 (rinner * 2 + fine - O) [widths.rhs.heading wide Downward]
straight.down.start m1 (rinner * 2 + fine - O) [widths.rhs.heading sw Downward]
CurlyTail fine rinner m1 0 (m1 + rinner * 2 + fine) x2 y2
if sLT : include : sLT XH
if sLB : include : sLB 0
Expand All @@ -141,6 +142,36 @@ glyph-block Letter-Latin-Lower-N : begin
if sLB : include : sLB 0
if sRB : include : sRB Descender

create-glyph "nCrossedTail.\(suffix)" : glyph-proc
include : MarkSet.e
local fine : AdviceStroke 4
local rinner : XH * 0.15 - fine * 0.75
local sw : AdviceStroke 3
local m1 : RightSB - sw * HVContrast
local m2 : [mix SB RightSB 0.5] - 0.5 * fine * HVContrast
local x2 : RightSB + SideJut
local y2 : rinner * 2 + fine - O
include : Body XH SB RightSB (y2 + O) sw
include : dispiro
straight.down.start RightSB y2 [widths.rhs.heading sw Downward]
CurlyTail fine rinner m1 0 m2 x2 y2 (adj -- 0.2)
if sLT : include : sLT XH
if sLB : include : [if (m2 - (SB + HalfStroke * HVContrast + Jut) > 0.01 * Width) NBottomLeftSerif NBottomLeftOuterSerif] 0

create-glyph "engCrossedTail.\(suffix)" : glyph-proc
include : MarkSet.p
include : Body XH SB RightSB 0 Stroke
local fine : AdviceStroke 3.5
local rinner : (-Descender - 2 * fine) / 3
local m1 : RightSB - Stroke * HVContrast
local x2 : mix RightSB m1 0.25
local y2 : Descender + O
include : dispiro
straight.down.start RightSB (-O) [widths.rhs.heading Stroke Downward]
CurlyTail fine rinner m1 Descender (m1 - HookX) x2 y2
if sLT : include : sLT XH
if sLB : include : sLB 0

select-variant 'n' 'n'
link-reduced-variant 'n/sansSerif' 'n' MathSansSerif
link-reduced-variant 'n/descBase' 'n'
Expand All @@ -152,6 +183,8 @@ glyph-block Letter-Latin-Lower-N : begin
link-reduced-variant 'eng/phoneticRight' 'eng'
select-variant 'nHookBottom' 0x273 (follow -- 'eng')
select-variant 'nCurlyTail' 0x235 (follow -- 'eng')
select-variant 'nCrossedTail' 0xAB3B (follow -- 'eng')
select-variant 'engCrossedTail' 0xAB3C (follow -- 'eng')
select-variant 'NExt' 0x220 (follow -- 'n')
select-variant 'nExt' 0x19E (follow -- 'n')

Expand All @@ -170,6 +203,7 @@ glyph-block Letter-Latin-Lower-N : begin

derive-glyphs 'nltail' 0x272 'n' : lambda [src srl] : glyph-proc
include [refer-glyph src] AS_BASE
include : MarkSet.p
eject-contour 'serifLB'
include : VerticalHook.l SB 0 (-HookX) Hook

Expand Down
Loading

0 comments on commit 8edf88a

Please sign in to comment.