Skip to content

Commit 49ac6e1

Browse files
committed
Fix alignment of the suit part of Playing Cards glyphs under quasi-Proportional (#2529).
1 parent adf0dc2 commit 49ac6e1

File tree

2 files changed

+35
-35
lines changed

2 files changed

+35
-35
lines changed

changes/31.8.0.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
* Optimize glyph for Cyrillic Capital Ef (`Ф`) under Bulgarian locale (`'BGR '`) under slab.
99
* Fix seam in glyphs of Cyrillic Capital/Small Letter Zhwe (`U+A684`..`U+A685`).
1010
* Fix broken shape of certain power and playback symbols under quasi-proportional (#2528).
11+
* Fix alignment of the suit part of Playing Cards glyphs under quasi-Proportional (#2529).

packages/font-glyphs/src/auto-build/composite.ptl

+34-35
Original file line numberDiff line numberDiff line change
@@ -922,42 +922,41 @@ glyph-block AutoBuild-Enclosure : begin
922922
list null { 'markBaseSpace' 'markBaseSpace' } WideWidth1
923923
list 0x1F1A9 { 'L' 'O' 'S' 'S' 'L' 'E' 'S' 'S' } WideWidth1
924924

925-
do "Single-digit playing cards"
925+
do "Playing cards"
926+
# Here we always construct the two-digit cards to ensure that all digit and suit glyphs
927+
# are aligned across all cards.
926928
local compositions : list
927-
list null {'markBaseSpace' 'markBaseSpace'} WideWidth1
928-
list 0x1F0A1 {'A' 'spadeSuit'} WideWidth4
929-
list 0x1F0AB {'J/noDescend' 'spadeSuit'} WideWidth4
930-
list 0x1F0AC {'C' 'spadeSuit'} WideWidth4
931-
list 0x1F0AD {'Q' 'spadeSuit'} WideWidth4
932-
list 0x1F0AE {'K' 'spadeSuit'} WideWidth4
933-
list 0x1F0B1 {'A' 'whiteHeartSuit'} WideWidth4
934-
list 0x1F0BB {'J/noDescend' 'whiteHeartSuit'} WideWidth4
935-
list 0x1F0BC {'C' 'whiteHeartSuit'} WideWidth4
936-
list 0x1F0BD {'Q' 'whiteHeartSuit'} WideWidth4
937-
list 0x1F0BE {'K' 'whiteHeartSuit'} WideWidth4
938-
list 0x1F0C1 {'A' 'whiteDiamondSuit'} WideWidth4
939-
list 0x1F0CB {'J/noDescend' 'whiteDiamondSuit'} WideWidth4
940-
list 0x1F0CC {'C' 'whiteDiamondSuit'} WideWidth4
941-
list 0x1F0CD {'Q' 'whiteDiamondSuit'} WideWidth4
942-
list 0x1F0CE {'K' 'whiteDiamondSuit'} WideWidth4
943-
list 0x1F0D1 {'A' 'clubSuit'} WideWidth4
944-
list 0x1F0DB {'J/noDescend' 'clubSuit'} WideWidth4
945-
list 0x1F0DC {'C' 'clubSuit'} WideWidth4
946-
list 0x1F0DD {'Q' 'clubSuit'} WideWidth4
947-
list 0x1F0DE {'K' 'clubSuit'} WideWidth4
948-
foreach [j : range 2 till 9] : compositions.push : list (0x1F0A0 + j) [[digitGlyphNames j].concat {'spadeSuit'}] WideWidth4
949-
foreach [j : range 2 till 9] : compositions.push : list (0x1F0B0 + j) [[digitGlyphNames j].concat {'whiteHeartSuit'}] WideWidth4
950-
foreach [j : range 2 till 9] : compositions.push : list (0x1F0C0 + j) [[digitGlyphNames j].concat {'whiteDiamondSuit'}] WideWidth4
951-
foreach [j : range 2 till 9] : compositions.push : list (0x1F0D0 + j) [[digitGlyphNames j].concat {'clubSuit'}] WideWidth4
952-
createPlayingCardGlyphs 1 compositions
953-
954-
do "Double-digit playing cards"
955-
createPlayingCardGlyphs 2 : list
956-
list null { 'markBaseSpace' 'markBaseSpace' } WideWidth1
957-
list 0x1F0AA { 'one.lnum' 'zero.lnum' 'spadeSuit' 'zwsp' } WideWidth4
958-
list 0x1F0BA { 'one.lnum' 'zero.lnum' 'whiteHeartSuit' 'zwsp' } WideWidth4
959-
list 0x1F0CA { 'one.lnum' 'zero.lnum' 'whiteDiamondSuit' 'zwsp' } WideWidth4
960-
list 0x1F0DA { 'one.lnum' 'zero.lnum' 'clubSuit' 'zwsp' } WideWidth4
929+
list null { 'markBaseSpace' 'markBaseSpace' 'markBaseSpace' 'zwsp' } WideWidth1
930+
list 0x1F0A1 { 'A' 'markBaseSpace' 'spadeSuit' 'zwsp' } WideWidth4
931+
list 0x1F0AB { 'J/noDescend' 'markBaseSpace' 'spadeSuit' 'zwsp' } WideWidth4
932+
list 0x1F0AC { 'C' 'markBaseSpace' 'spadeSuit' 'zwsp' } WideWidth4
933+
list 0x1F0AD { 'Q' 'markBaseSpace' 'spadeSuit' 'zwsp' } WideWidth4
934+
list 0x1F0AE { 'K' 'markBaseSpace' 'spadeSuit' 'zwsp' } WideWidth4
935+
list 0x1F0B1 { 'A' 'markBaseSpace' 'whiteHeartSuit' 'zwsp' } WideWidth4
936+
list 0x1F0BB { 'J/noDescend' 'markBaseSpace' 'whiteHeartSuit' 'zwsp' } WideWidth4
937+
list 0x1F0BC { 'C' 'markBaseSpace' 'whiteHeartSuit' 'zwsp' } WideWidth4
938+
list 0x1F0BD { 'Q' 'markBaseSpace' 'whiteHeartSuit' 'zwsp' } WideWidth4
939+
list 0x1F0BE { 'K' 'markBaseSpace' 'whiteHeartSuit' 'zwsp' } WideWidth4
940+
list 0x1F0C1 { 'A' 'markBaseSpace' 'whiteDiamondSuit' 'zwsp' } WideWidth4
941+
list 0x1F0CB { 'J/noDescend' 'markBaseSpace' 'whiteDiamondSuit' 'zwsp' } WideWidth4
942+
list 0x1F0CC { 'C' 'markBaseSpace' 'whiteDiamondSuit' 'zwsp' } WideWidth4
943+
list 0x1F0CD { 'Q' 'markBaseSpace' 'whiteDiamondSuit' 'zwsp' } WideWidth4
944+
list 0x1F0CE { 'K' 'markBaseSpace' 'whiteDiamondSuit' 'zwsp' } WideWidth4
945+
list 0x1F0D1 { 'A' 'markBaseSpace' 'clubSuit' 'zwsp' } WideWidth4
946+
list 0x1F0DB { 'J/noDescend' 'markBaseSpace' 'clubSuit' 'zwsp' } WideWidth4
947+
list 0x1F0DC { 'C' 'markBaseSpace' 'clubSuit' 'zwsp' } WideWidth4
948+
list 0x1F0DD { 'Q' 'markBaseSpace' 'clubSuit' 'zwsp' } WideWidth4
949+
list 0x1F0DE { 'K' 'markBaseSpace' 'clubSuit' 'zwsp' } WideWidth4
950+
list 0x1F0AA { 'one.lnum' 'zero.lnum' 'spadeSuit' 'zwsp' } WideWidth4
951+
list 0x1F0BA { 'one.lnum' 'zero.lnum' 'whiteHeartSuit' 'zwsp' } WideWidth4
952+
list 0x1F0CA { 'one.lnum' 'zero.lnum' 'whiteDiamondSuit' 'zwsp' } WideWidth4
953+
list 0x1F0DA { 'one.lnum' 'zero.lnum' 'clubSuit' 'zwsp' } WideWidth4
954+
foreach [j : range 2 till 9] : begin
955+
compositions.push : list (0x1F0A0 + j) [[digitGlyphNames j].concat {'markBaseSpace' 'spadeSuit' 'zwsp'}] WideWidth4
956+
compositions.push : list (0x1F0B0 + j) [[digitGlyphNames j].concat {'markBaseSpace' 'whiteHeartSuit' 'zwsp'}] WideWidth4
957+
compositions.push : list (0x1F0C0 + j) [[digitGlyphNames j].concat {'markBaseSpace' 'whiteDiamondSuit' 'zwsp'}] WideWidth4
958+
compositions.push : list (0x1F0D0 + j) [[digitGlyphNames j].concat {'markBaseSpace' 'clubSuit' 'zwsp'}] WideWidth4
959+
createPlayingCardGlyphs 2 compositions
961960

962961
do "Single-digit trump cards"
963962
createTrumpCardGlyphs 1 : list

0 commit comments

Comments
 (0)