From f0830a1af26d847c56cabee66ea6f5c3802f115d Mon Sep 17 00:00:00 2001 From: Minseo Lee Date: Fri, 28 Aug 2026 12:53:15 +0900 Subject: [PATCH 1/3] add .tf.ss03 glyphs --- src/Inter-Italic.glyphspackage/fontinfo.plist | 4 + .../glyphs/comma.tf.ss03.glyph | 131 ++++++++++++++++++ .../glyphs/semicolon.tf.ss03.glyph | 77 ++++++++++ src/Inter-Italic.glyphspackage/order.plist | 4 +- src/Inter-Roman.glyphspackage/fontinfo.plist | 4 + .../glyphs/comma.tf.ss03.glyph | 125 +++++++++++++++++ .../glyphs/semicolon.tf.ss03.glyph | 71 ++++++++++ src/Inter-Roman.glyphspackage/order.plist | 4 +- 8 files changed, 418 insertions(+), 2 deletions(-) create mode 100644 src/Inter-Italic.glyphspackage/glyphs/comma.tf.ss03.glyph create mode 100644 src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph create mode 100644 src/Inter-Roman.glyphspackage/glyphs/comma.tf.ss03.glyph create mode 100644 src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph diff --git a/src/Inter-Italic.glyphspackage/fontinfo.plist b/src/Inter-Italic.glyphspackage/fontinfo.plist index 62c2efd8a3..d27b0332ec 100644 --- a/src/Inter-Italic.glyphspackage/fontinfo.plist +++ b/src/Inter-Italic.glyphspackage/fontinfo.plist @@ -2130,6 +2130,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -3084,6 +3086,8 @@ sub lcommaaccent.ss02 by lcommaaccent.ss02.ss03; sub tcommaaccent.1 by tcommaaccent.1.ss03; sub comma by comma.ss03; sub semicolon by semicolon.ss03; +sub comma.tf by comma.tf.ss03; +sub semicolon.tf by semicolon.tf.ss03; sub reversedsemicolon by reversedsemicolon.ss03; sub quotedblleft by quotedblleft.ss03; sub quotedblright by quotedblright.ss03; diff --git a/src/Inter-Italic.glyphspackage/glyphs/comma.tf.ss03.glyph b/src/Inter-Italic.glyphspackage/glyphs/comma.tf.ss03.glyph new file mode 100644 index 0000000000..15ea597311 --- /dev/null +++ b/src/Inter-Italic.glyphspackage/glyphs/comma.tf.ss03.glyph @@ -0,0 +1,131 @@ +{ +color = 9; +glyphname = comma.tf.ss03; +layers = ( +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +name = ital_gen; +shapes = ( +{ +pos = (-20,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +guides = ( +{ +pos = (12,1240); +}, +{ +pos = (12,764); +} +); +layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; +name = ital_gen; +shapes = ( +{ +pos = (-99,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = "200BE2C5-40F6-4CF4-AF4F-A33C0CC0964F"; +name = ital_gen; +shapes = ( +{ +alignment = -1; +pos = (18,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m008; +name = ital_gen; +shapes = ( +{ +pos = (73,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m010; +name = ital_gen; +shapes = ( +{ +pos = (1,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m012; +name = ital_gen; +shapes = ( +{ +alignment = -1; +pos = (121,0); +ref = comma.ss03; +} +); +width = 550; +} +); +metricWidth = period.tf; +unicode = 61154; +userData = { +"interface.width-adjustments" = ( +-16 +); +}; +} diff --git a/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph b/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph new file mode 100644 index 0000000000..fb06035ee3 --- /dev/null +++ b/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph @@ -0,0 +1,77 @@ +{ +color = 9; +glyphname = semicolon.tf.ss03; +layers = ( +{ +layerId = "11F4534A-B963-4AB5-820F-DAF9A20CD933"; +name = ital_gen; +shapes = ( +{ +pos = (-20,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; +name = ital_gen; +shapes = ( +{ +pos = (-99,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = "200BE2C5-40F6-4CF4-AF4F-A33C0CC0964F"; +name = ital_gen; +shapes = ( +{ +alignment = -1; +pos = (18,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m008; +name = ital_gen; +shapes = ( +{ +pos = (73,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m010; +name = ital_gen; +shapes = ( +{ +pos = (1,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m012; +name = ital_gen; +shapes = ( +{ +alignment = -1; +pos = (121,0); +ref = semicolon.ss03; +} +); +width = 550; +} +); +metricLeft = comma.tf.ss03; +metricWidth = period.tf; +unicode = 61155; +} diff --git a/src/Inter-Italic.glyphspackage/order.plist b/src/Inter-Italic.glyphspackage/order.plist index 66a4ffb3ad..a17d2a6650 100644 --- a/src/Inter-Italic.glyphspackage/order.plist +++ b/src/Inter-Italic.glyphspackage/order.plist @@ -2008,6 +2008,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -2917,4 +2919,4 @@ _part.top_r_hook_c, _part.top_r_hook_g_sc, _part.topbar, _part.zeroslash -) \ No newline at end of file +) diff --git a/src/Inter-Roman.glyphspackage/fontinfo.plist b/src/Inter-Roman.glyphspackage/fontinfo.plist index 1678dbb24f..c7b29ef92f 100644 --- a/src/Inter-Roman.glyphspackage/fontinfo.plist +++ b/src/Inter-Roman.glyphspackage/fontinfo.plist @@ -2130,6 +2130,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -3086,6 +3088,8 @@ sub lcommaaccent.ss02 by lcommaaccent.ss02.ss03; sub tcommaaccent.1 by tcommaaccent.1.ss03; sub comma by comma.ss03; sub semicolon by semicolon.ss03; +sub comma.tf by comma.tf.ss03; +sub semicolon.tf by semicolon.tf.ss03; sub reversedsemicolon by reversedsemicolon.ss03; sub quotedblleft by quotedblleft.ss03; sub quotedblright by quotedblright.ss03; diff --git a/src/Inter-Roman.glyphspackage/glyphs/comma.tf.ss03.glyph b/src/Inter-Roman.glyphspackage/glyphs/comma.tf.ss03.glyph new file mode 100644 index 0000000000..87c4c6e7b2 --- /dev/null +++ b/src/Inter-Roman.glyphspackage/glyphs/comma.tf.ss03.glyph @@ -0,0 +1,125 @@ +{ +color = 9; +glyphname = comma.tf.ss03; +layers = ( +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; +shapes = ( +{ +pos = (-20,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +guides = ( +{ +pos = (12,1240); +}, +{ +pos = (12,764); +} +); +layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; +shapes = ( +{ +pos = (-99,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = "B1F27B51-9973-4381-9301-4FE46FE1CA59"; +shapes = ( +{ +alignment = -1; +pos = (18,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m007; +shapes = ( +{ +pos = (73,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m009; +shapes = ( +{ +pos = (1,0); +ref = comma.ss03; +} +); +width = 550; +}, +{ +background = { +shapes = ( +{ +ref = period.tf; +} +); +}; +layerId = m011; +shapes = ( +{ +alignment = -1; +pos = (121,0); +ref = comma.ss03; +} +); +width = 550; +} +); +metricWidth = period.tf; +unicode = 61154; +userData = { +"interface.width-adjustments" = ( +-16 +); +}; +} diff --git a/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph b/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph new file mode 100644 index 0000000000..5288a062b8 --- /dev/null +++ b/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph @@ -0,0 +1,71 @@ +{ +color = 9; +glyphname = semicolon.tf.ss03; +layers = ( +{ +layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; +shapes = ( +{ +pos = (-20,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; +shapes = ( +{ +pos = (-99,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = "B1F27B51-9973-4381-9301-4FE46FE1CA59"; +shapes = ( +{ +alignment = -1; +pos = (18,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m007; +shapes = ( +{ +pos = (73,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m009; +shapes = ( +{ +pos = (1,0); +ref = semicolon.ss03; +} +); +width = 550; +}, +{ +layerId = m011; +shapes = ( +{ +alignment = -1; +pos = (121,0); +ref = semicolon.ss03; +} +); +width = 550; +} +); +metricLeft = comma.tf.ss03; +metricWidth = period.tf; +unicode = 61155; +} diff --git a/src/Inter-Roman.glyphspackage/order.plist b/src/Inter-Roman.glyphspackage/order.plist index 39217bbda6..018d51323e 100644 --- a/src/Inter-Roman.glyphspackage/order.plist +++ b/src/Inter-Roman.glyphspackage/order.plist @@ -2039,6 +2039,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -2955,4 +2957,4 @@ _part.top_r_hook_c, _part.top_r_hook_g_sc, _part.topbar, _part.zeroslash -) \ No newline at end of file +) From 5da5e94e0763d3440c4ff1aa8a3492b514418c27 Mon Sep 17 00:00:00 2001 From: Minseo Lee Date: Fri, 28 Aug 2026 13:22:10 +0900 Subject: [PATCH 2/3] refine ss03 --- .../glyphs/semicolon.ss03.glyph | 17 +++++++++++------ .../glyphs/semicolon.tf.ss03.glyph | 8 ++++---- .../glyphs/comma.ss03.glyph | 12 ++++++------ .../glyphs/semicolon.ss03.glyph | 13 +++++++------ .../glyphs/semicolon.tf.ss03.glyph | 10 +++++----- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/Inter-Italic.glyphspackage/glyphs/semicolon.ss03.glyph b/src/Inter-Italic.glyphspackage/glyphs/semicolon.ss03.glyph index 64c2a9543e..8c949836b8 100644 --- a/src/Inter-Italic.glyphspackage/glyphs/semicolon.ss03.glyph +++ b/src/Inter-Italic.glyphspackage/glyphs/semicolon.ss03.glyph @@ -19,7 +19,7 @@ alignment = -1; ref = comma.ss03; }, { -pos = (161,809); +pos = (135,809); ref = period; } ); @@ -31,10 +31,11 @@ name = ital_gen; shapes = ( { alignment = -1; +pos = (-1,0); ref = comma.ss03; }, { -pos = (123,685); +pos = (116,685); ref = period; } ); @@ -46,11 +47,12 @@ name = ital_gen; shapes = ( { alignment = -1; +pos = (20,0); ref = comma.ss03; }, { alignment = -1; -pos = (167,964); +pos = (159,964); ref = period; } ); @@ -62,10 +64,11 @@ name = ital_gen; shapes = ( { alignment = -1; +pos = (-1,0); ref = comma.ss03; }, { -pos = (135,784); +pos = (132,784); ref = period; } ); @@ -77,10 +80,11 @@ name = ital_gen; shapes = ( { alignment = -1; +pos = (-5,0); ref = comma.ss03; }, { -pos = (106,627); +pos = (105,627); ref = period; } ); @@ -92,11 +96,12 @@ name = ital_gen; shapes = ( { alignment = -1; +pos = (10,0); ref = comma.ss03; }, { alignment = -1; -pos = (146,912); +pos = (151,912); ref = period; } ); diff --git a/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph b/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph index fb06035ee3..ef81d471e5 100644 --- a/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph +++ b/src/Inter-Italic.glyphspackage/glyphs/semicolon.tf.ss03.glyph @@ -18,7 +18,7 @@ layerId = "D0EC06BF-13F9-4C88-A6F5-B8203AF6C77E"; name = ital_gen; shapes = ( { -pos = (-99,0); +pos = (-109,0); ref = semicolon.ss03; } ); @@ -30,7 +30,7 @@ name = ital_gen; shapes = ( { alignment = -1; -pos = (18,0); +pos = (-4,0); ref = semicolon.ss03; } ); @@ -41,7 +41,7 @@ layerId = m008; name = ital_gen; shapes = ( { -pos = (73,0); +pos = (45,0); ref = semicolon.ss03; } ); @@ -64,7 +64,7 @@ name = ital_gen; shapes = ( { alignment = -1; -pos = (121,0); +pos = (76,0); ref = semicolon.ss03; } ); diff --git a/src/Inter-Roman.glyphspackage/glyphs/comma.ss03.glyph b/src/Inter-Roman.glyphspackage/glyphs/comma.ss03.glyph index fde9912f31..bcf35524d0 100644 --- a/src/Inter-Roman.glyphspackage/glyphs/comma.ss03.glyph +++ b/src/Inter-Roman.glyphspackage/glyphs/comma.ss03.glyph @@ -15,7 +15,7 @@ ref = period; layerId = "B1F27B51-9973-4381-9301-4FE46FE1CA59"; shapes = ( { -pos = (-23,-1406); +pos = (-7,-1406); ref = quoteright.ss03; } ); @@ -32,7 +32,7 @@ ref = period; layerId = m007; shapes = ( { -pos = (-5,-1278); +pos = (-13,-1278); ref = quoteright.ss03; } ); @@ -49,7 +49,7 @@ ref = period; layerId = m009; shapes = ( { -pos = (-6,-1109); +pos = (-10,-1109); ref = quoteright.ss03; } ); @@ -66,7 +66,7 @@ ref = period; layerId = m011; shapes = ( { -pos = (-11,-1408); +pos = (-6,-1408); ref = quoteright.ss03; } ); @@ -107,7 +107,7 @@ layerId = "C698F293-3EC0-4A5A-A3A0-0FDB1F5CF265"; name = Regular; shapes = ( { -pos = (-2,-1256); +pos = (-11,-1256); ref = quoteright.ss03; } ); @@ -179,7 +179,7 @@ layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; name = Black; shapes = ( { -pos = (-6,-1134); +pos = (44,-1134); ref = quoteright.ss03; } ); diff --git a/src/Inter-Roman.glyphspackage/glyphs/semicolon.ss03.glyph b/src/Inter-Roman.glyphspackage/glyphs/semicolon.ss03.glyph index f378274aae..6c195fd376 100644 --- a/src/Inter-Roman.glyphspackage/glyphs/semicolon.ss03.glyph +++ b/src/Inter-Roman.glyphspackage/glyphs/semicolon.ss03.glyph @@ -18,7 +18,7 @@ alignment = -1; ref = comma.ss03; }, { -pos = (28,809); +pos = (0,809); ref = period; } ); @@ -32,7 +32,7 @@ alignment = -1; ref = comma.ss03; }, { -pos = (10,685); +pos = (0,685); ref = period; } ); @@ -43,11 +43,12 @@ layerId = "B1F27B51-9973-4381-9301-4FE46FE1CA59"; shapes = ( { alignment = -1; +pos = (-5,0); ref = comma.ss03; }, { alignment = -1; -pos = (8,964); +pos = (-5,964); ref = period; } ); @@ -61,7 +62,7 @@ alignment = -1; ref = comma.ss03; }, { -pos = (6,784); +pos = (0,784); ref = period; } ); @@ -75,7 +76,7 @@ alignment = -1; ref = comma.ss03; }, { -pos = (3,627); +pos = (0,627); ref = period; } ); @@ -90,7 +91,7 @@ ref = comma.ss03; }, { alignment = -1; -pos = (-4,912); +pos = (0,912); ref = period; } ); diff --git a/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph b/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph index 5288a062b8..2df210937b 100644 --- a/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph +++ b/src/Inter-Roman.glyphspackage/glyphs/semicolon.tf.ss03.glyph @@ -16,7 +16,7 @@ width = 550; layerId = "5C20EF92-B63D-42A8-8878-93C2863E0093"; shapes = ( { -pos = (-99,0); +pos = (-107,0); ref = semicolon.ss03; } ); @@ -27,7 +27,7 @@ layerId = "B1F27B51-9973-4381-9301-4FE46FE1CA59"; shapes = ( { alignment = -1; -pos = (18,0); +pos = (3,0); ref = semicolon.ss03; } ); @@ -37,7 +37,7 @@ width = 550; layerId = m007; shapes = ( { -pos = (73,0); +pos = (50,0); ref = semicolon.ss03; } ); @@ -47,7 +47,7 @@ width = 550; layerId = m009; shapes = ( { -pos = (1,0); +pos = (3,0); ref = semicolon.ss03; } ); @@ -58,7 +58,7 @@ layerId = m011; shapes = ( { alignment = -1; -pos = (121,0); +pos = (75,0); ref = semicolon.ss03; } ); From 61ac44a38c79458b79de53addeaafce7d39e9a0f Mon Sep 17 00:00:00 2001 From: Minseo Lee Date: Fri, 28 Aug 2026 14:18:07 +0900 Subject: [PATCH 3/3] add .tf.ss03 to order --- src/Inter-Italic.glyphspackage/order.plist | 4 +++- src/Inter-Roman.glyphspackage/order.plist | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Inter-Italic.glyphspackage/order.plist b/src/Inter-Italic.glyphspackage/order.plist index 66fd08b1a7..63ecf4c2e0 100644 --- a/src/Inter-Italic.glyphspackage/order.plist +++ b/src/Inter-Italic.glyphspackage/order.plist @@ -2016,6 +2016,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -2931,4 +2933,4 @@ crossbar_short.uc, koronisaccentleft.cn, macrondieresiscomb.cn, tildemacroncomb.cn -) \ No newline at end of file +) diff --git a/src/Inter-Roman.glyphspackage/order.plist b/src/Inter-Roman.glyphspackage/order.plist index 248b1f4aca..1fd6a6a1e3 100644 --- a/src/Inter-Roman.glyphspackage/order.plist +++ b/src/Inter-Roman.glyphspackage/order.plist @@ -2084,6 +2084,8 @@ tcommaaccent.1.ss03, commaaccent.ss03, comma.ss03, semicolon.ss03, +comma.tf.ss03, +semicolon.tf.ss03, reversedsemicolon.ss03, quotedblleft.ss03, quotedblright.ss03, @@ -3016,4 +3018,4 @@ _tildecross.cn, commaaccentrotate.cn, crossbar_short.uc, koronisaccentleft.cn -) \ No newline at end of file +)