From bc885face318e40180ae1cfacf35256bed04b113 Mon Sep 17 00:00:00 2001 From: Alfredo Marco Pradil Date: Tue, 30 Jan 2024 13:59:10 +0400 Subject: [PATCH] Fixed Spacing Fixed DumbQuote Spacing --- sources/HankenGrotesk-Italic.glyphs | 120 +++++++++++----------- sources/HankenGrotesk-Italic_autospace.py | 35 ------- sources/HankenGrotesk.glyphs | 117 ++++++++++----------- sources/HankenGrotesk_autospace.py | 35 ------- 4 files changed, 115 insertions(+), 192 deletions(-) delete mode 100644 sources/HankenGrotesk-Italic_autospace.py delete mode 100644 sources/HankenGrotesk_autospace.py diff --git a/sources/HankenGrotesk-Italic.glyphs b/sources/HankenGrotesk-Italic.glyphs index 7bdeb1c..61aa156 100644 --- a/sources/HankenGrotesk-Italic.glyphs +++ b/sources/HankenGrotesk-Italic.glyphs @@ -1,6 +1,9 @@ { .appVersion = "3234"; .formatVersion = 3; +DisplayStrings = ( +"\" 'spam' \"asd " +); axes = ( { name = Weight; @@ -25,13 +28,12 @@ name = "Use Typo Metrics"; value = 1; } ); -date = "2022-11-04 01:44:32 +0000"; +date = "2024-01-30 09:48:02 +0000"; familyName = "Hanken Grotesk"; featurePrefixes = ( { automatic = 1; code = "languagesystem DFLT dflt; -languagesystem DFLT MAH; languagesystem latn dflt; languagesystem latn AZE; @@ -68,99 +70,95 @@ tag = aalt; }, { automatic = 1; -code = "lookup ccmp_Other_1 { +code = "lookup ccmp_DFLT_1 { + lookupflag 0; + sub brevecomb acutecomb by brevecomb_acutecomb; + sub brevecomb gravecomb by brevecomb_gravecomb; + sub brevecomb hookabovecomb by brevecomb_hookabovecomb; + sub brevecomb tildecomb by brevecomb_tildecomb; + sub circumflexcomb acutecomb by circumflexcomb_acutecomb; + sub circumflexcomb gravecomb by circumflexcomb_gravecomb; + sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb; + sub circumflexcomb tildecomb by circumflexcomb_tildecomb; +} ccmp_DFLT_1; + +lookup ccmp_Other_1 { @CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb macroncomb ringcomb tildecomb]; - @CombiningNonTopAccents = [cedillacomb dotbelowcomb ogonekcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb]; - sub [i j]' @CombiningTopAccents by [idotless jdotless]; - sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless]; + lookupflag UseMarkFilteringSet @CombiningTopAccents; + sub i' @CombiningTopAccents by idotless; + sub j' @CombiningTopAccents by jdotless; +} ccmp_Other_1; + +lookup ccmp_Other_2 { + lookupflag 0; @Markscomb = [tonos circumflexcomb circumflexcomb_gravecomb circumflexcomb_acutecomb circumflexcomb_tildecomb circumflexcomb_hookabovecomb brevecomb brevecomb_gravecomb brevecomb_acutecomb brevecomb_tildecomb brevecomb_hookabovecomb ringcomb tildecomb slashshortcomb slashlongcomb]; @MarkscombCase = [tonos.case circumflexcomb.case circumflexcomb_gravecomb.case circumflexcomb_acutecomb.case circumflexcomb_tildecomb.case circumflexcomb_hookabovecomb.case brevecomb.case brevecomb_gravecomb.case brevecomb_acutecomb.case brevecomb_tildecomb.case brevecomb_hookabovecomb.case ringcomb.case tildecomb.case slashshortcomb.case slashlongcomb.case]; - sub @Markscomb @Markscomb' by @MarkscombCase; sub @Uppercase @Markscomb' by @MarkscombCase; -} ccmp_Other_1; +} ccmp_Other_2; -lookup ccmp_Other_2 { - sub @Markscomb' @MarkscombCase by @MarkscombCase; +lookup ccmp_Other_3 { + lookupflag 0; sub @MarkscombCase @Markscomb' by @MarkscombCase; -} ccmp_Other_2; +} ccmp_Other_3; lookup ccmp_latn_1 { + lookupflag 0; sub fi by f i; sub fl by f l; } ccmp_latn_1; -lookup ccmp_latn_2 { - lookupflag 0; - sub brevecomb acutecomb by brevecomb_acutecomb; - sub brevecomb gravecomb by brevecomb_gravecomb; - sub brevecomb hookabovecomb by brevecomb_hookabovecomb; - sub brevecomb tildecomb by brevecomb_tildecomb; - sub circumflexcomb acutecomb by circumflexcomb_acutecomb; - sub circumflexcomb gravecomb by circumflexcomb_gravecomb; - sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb; - sub circumflexcomb tildecomb by circumflexcomb_tildecomb; -} ccmp_latn_2; - script latn; lookup ccmp_latn_1; -lookup ccmp_latn_2; "; tag = ccmp; }, { automatic = 1; -code = "lookup locl_noScript_0 { - language MAH; - sub commaaccentcomb by commaaccentcomb.loclMAH; -} locl_noScript_0; - +code = "script latn; +language AZE; lookup locl_latn_0 { - script latn; - language AZE; - sub i by idotaccent; - language CRT; - sub i by idotaccent; - language KAZ; - sub i by idotaccent; - language TAT; - sub i by idotaccent; - language TRK; sub i by idotaccent; } locl_latn_0; +language CRT; +lookup locl_latn_0; +language KAZ; +lookup locl_latn_0; +language TAT; +lookup locl_latn_0; +language TRK; +lookup locl_latn_0; +script latn; +language ROM; lookup locl_latn_1 { - script latn; - language ROM; - sub Scedilla by Scommaaccent; - sub scedilla by scommaaccent; - sub Tcedilla by Tcommaaccent; - sub tcedilla by tcommaaccent; - language MOL; sub Scedilla by Scommaaccent; sub scedilla by scommaaccent; sub Tcedilla by Tcommaaccent; sub tcedilla by tcommaaccent; } locl_latn_1; +language MOL; +lookup locl_latn_1; +script latn; +language MAH; lookup locl_latn_2 { - script latn; - language MAH; sub Lcommaaccent by Lcommaaccent.loclMAH; sub Ncommaaccent by Ncommaaccent.loclMAH; sub lcommaaccent by lcommaaccent.loclMAH; sub ncommaaccent by ncommaaccent.loclMAH; + sub commaaccentcomb by commaaccentcomb.loclMAH; } locl_latn_2; +script latn; +language CAT; lookup locl_latn_3 { - script latn; - language CAT; sub l' periodcentered' l by ldot; sub L' periodcentered' L by Ldot; } locl_latn_3; +script latn; +language NLD; lookup locl_latn_4 { - script latn; - language NLD; sub iacute j' by jacute; sub Iacute J' by Jacute; } locl_latn_4; @@ -41015,7 +41013,7 @@ color = 1; glyphname = quotedbl; kernLeft = quotedbl; kernRight = quotedbl; -lastChange = "2024-01-30 09:41:12 +0000"; +lastChange = "2024-01-30 09:47:11 +0000"; layers = ( { layerId = "F91D9E91-C1BC-4259-B0D8-112C0CBA2B8E"; @@ -41056,14 +41054,14 @@ nodes = ( { closed = 1; nodes = ( -(400,407,l), -(440,697,l), -(313,697,l), -(273,407,l) +(420,407,l), +(460,697,l), +(333,697,l), +(293,407,l) ); } ); -width = 447; +width = 467; }, { layerId = m003; @@ -41098,7 +41096,7 @@ color = 1; glyphname = quotesingle; kernLeft = quotedbl; kernRight = quotedbl; -lastChange = "2024-01-30 09:41:21 +0000"; +lastChange = "2024-01-30 09:47:11 +0000"; layers = ( { layerId = "F91D9E91-C1BC-4259-B0D8-112C0CBA2B8E"; @@ -61300,7 +61298,7 @@ key = copyrights; values = ( { language = dflt; -value = "Copyright 2021 The Hanken Grotesk Project Authors (https://github.com/marcologous/hanken-grotesk)"; +value = "Copyright 2023 The Hanken Grotesk Project Authors (https://github.com/marcologous/hanken-grotesk)"; } ); }, @@ -61374,5 +61372,5 @@ tH = "17"; }; }; versionMajor = 3; -versionMinor = 13; +versionMinor = 14; } diff --git a/sources/HankenGrotesk-Italic_autospace.py b/sources/HankenGrotesk-Italic_autospace.py deleted file mode 100644 index 1ff36f9..0000000 --- a/sources/HankenGrotesk-Italic_autospace.py +++ /dev/null @@ -1,35 +0,0 @@ - -# Reference -# Script, Category, Subcategory, case, value, referenceGlyph, filter - -# Letters -*,Letter,*,upper,1.25,H,*, -*,Letter,*,smallCaps,1.1,h.sc,*, -*,Letter,*,lower,1,x,*, -*,Letter,*,minor,0.7,m.sups,.sups, - -# Numbers -*,Number,Decimal Digit,*,1.2,one,*, -*,Number,Decimal Digit,*,1.2,zero.osf,.osf, -*,Number,Fraction,minor,1.3,*,*, -*,Number,*,*,0.8,*,.dnom, -*,Number,*,*,0.8,*,.numr, -*,Number,*,*,0.8,*,.inferior, -*,Number,*,*,0.8,*,superior, - -# Punctuation -*,Punctuation,Other,*,1.4,*,*, -*,Punctuation,Parenthesis,*,1.2,*,*, -*,Punctuation,Quote,*,1.2,*,*, -*,Punctuation,Dash,*,1,*,*, -*,Punctuation,*,*,1,*,slash, -*,Punctuation,*,*,1.2,*,*, - -# Symbols -*,Symbol,Currency,*,1.6,*,*, -*,Symbol,*,*,1.5,*,*, -*,Mark,*,*,1,*,*, - -# Devanagari -devanagari,Letter,Other,*,1,devaHeight,*, -devanagari,Letter,Ligature,*,1,devaHeight,*, diff --git a/sources/HankenGrotesk.glyphs b/sources/HankenGrotesk.glyphs index a5f2860..f6aa802 100644 --- a/sources/HankenGrotesk.glyphs +++ b/sources/HankenGrotesk.glyphs @@ -25,13 +25,12 @@ name = "Use Typo Metrics"; value = 1; } ); -date = "2022-11-04 01:44:40 +0000"; +date = "2024-01-30 09:48:12 +0000"; familyName = "Hanken Grotesk"; featurePrefixes = ( { automatic = 1; code = "languagesystem DFLT dflt; -languagesystem DFLT MAH; languagesystem latn dflt; languagesystem latn AZE; @@ -68,99 +67,95 @@ tag = aalt; }, { automatic = 1; -code = "lookup ccmp_Other_1 { +code = "lookup ccmp_DFLT_1 { + lookupflag 0; + sub brevecomb acutecomb by brevecomb_acutecomb; + sub brevecomb gravecomb by brevecomb_gravecomb; + sub brevecomb hookabovecomb by brevecomb_hookabovecomb; + sub brevecomb tildecomb by brevecomb_tildecomb; + sub circumflexcomb acutecomb by circumflexcomb_acutecomb; + sub circumflexcomb gravecomb by circumflexcomb_gravecomb; + sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb; + sub circumflexcomb tildecomb by circumflexcomb_tildecomb; +} ccmp_DFLT_1; + +lookup ccmp_Other_1 { @CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb macroncomb ringcomb tildecomb]; - @CombiningNonTopAccents = [cedillacomb dotbelowcomb ogonekcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb]; - sub [i j]' @CombiningTopAccents by [idotless jdotless]; - sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless]; + lookupflag UseMarkFilteringSet @CombiningTopAccents; + sub i' @CombiningTopAccents by idotless; + sub j' @CombiningTopAccents by jdotless; +} ccmp_Other_1; + +lookup ccmp_Other_2 { + lookupflag 0; @Markscomb = [tonos circumflexcomb circumflexcomb_gravecomb circumflexcomb_acutecomb circumflexcomb_tildecomb circumflexcomb_hookabovecomb brevecomb brevecomb_gravecomb brevecomb_acutecomb brevecomb_tildecomb brevecomb_hookabovecomb ringcomb tildecomb slashshortcomb slashlongcomb]; @MarkscombCase = [tonos.case circumflexcomb.case circumflexcomb_gravecomb.case circumflexcomb_acutecomb.case circumflexcomb_tildecomb.case circumflexcomb_hookabovecomb.case brevecomb.case brevecomb_gravecomb.case brevecomb_acutecomb.case brevecomb_tildecomb.case brevecomb_hookabovecomb.case ringcomb.case tildecomb.case slashshortcomb.case slashlongcomb.case]; - sub @Markscomb @Markscomb' by @MarkscombCase; sub @Uppercase @Markscomb' by @MarkscombCase; -} ccmp_Other_1; +} ccmp_Other_2; -lookup ccmp_Other_2 { - sub @Markscomb' @MarkscombCase by @MarkscombCase; +lookup ccmp_Other_3 { + lookupflag 0; sub @MarkscombCase @Markscomb' by @MarkscombCase; -} ccmp_Other_2; +} ccmp_Other_3; lookup ccmp_latn_1 { + lookupflag 0; sub fi by f i; sub fl by f l; } ccmp_latn_1; -lookup ccmp_latn_2 { - lookupflag 0; - sub brevecomb acutecomb by brevecomb_acutecomb; - sub brevecomb gravecomb by brevecomb_gravecomb; - sub brevecomb hookabovecomb by brevecomb_hookabovecomb; - sub brevecomb tildecomb by brevecomb_tildecomb; - sub circumflexcomb acutecomb by circumflexcomb_acutecomb; - sub circumflexcomb gravecomb by circumflexcomb_gravecomb; - sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb; - sub circumflexcomb tildecomb by circumflexcomb_tildecomb; -} ccmp_latn_2; - script latn; lookup ccmp_latn_1; -lookup ccmp_latn_2; "; tag = ccmp; }, { automatic = 1; -code = "lookup locl_noScript_0 { - language MAH; - sub commaaccentcomb by commaaccentcomb.loclMAH; -} locl_noScript_0; - +code = "script latn; +language AZE; lookup locl_latn_0 { - script latn; - language AZE; - sub i by idotaccent; - language CRT; - sub i by idotaccent; - language KAZ; - sub i by idotaccent; - language TAT; - sub i by idotaccent; - language TRK; sub i by idotaccent; } locl_latn_0; +language CRT; +lookup locl_latn_0; +language KAZ; +lookup locl_latn_0; +language TAT; +lookup locl_latn_0; +language TRK; +lookup locl_latn_0; +script latn; +language ROM; lookup locl_latn_1 { - script latn; - language ROM; - sub Scedilla by Scommaaccent; - sub scedilla by scommaaccent; - sub Tcedilla by Tcommaaccent; - sub tcedilla by tcommaaccent; - language MOL; sub Scedilla by Scommaaccent; sub scedilla by scommaaccent; sub Tcedilla by Tcommaaccent; sub tcedilla by tcommaaccent; } locl_latn_1; +language MOL; +lookup locl_latn_1; +script latn; +language MAH; lookup locl_latn_2 { - script latn; - language MAH; sub Lcommaaccent by Lcommaaccent.loclMAH; sub Ncommaaccent by Ncommaaccent.loclMAH; sub lcommaaccent by lcommaaccent.loclMAH; sub ncommaaccent by ncommaaccent.loclMAH; + sub commaaccentcomb by commaaccentcomb.loclMAH; } locl_latn_2; +script latn; +language CAT; lookup locl_latn_3 { - script latn; - language CAT; sub l' periodcentered' l by ldot; sub L' periodcentered' L by Ldot; } locl_latn_3; +script latn; +language NLD; lookup locl_latn_4 { - script latn; - language NLD; sub iacute j' by jacute; sub Iacute J' by Jacute; } locl_latn_4; @@ -42851,7 +42846,7 @@ color = 1; glyphname = quotedbl; kernLeft = quotedbl; kernRight = quotedbl; -lastChange = "2024-01-30 09:41:35 +0000"; +lastChange = "2024-01-30 09:47:21 +0000"; layers = ( { layerId = "F91D9E91-C1BC-4259-B0D8-112C0CBA2B8E"; @@ -42883,10 +42878,10 @@ shapes = ( { closed = 1; nodes = ( -(396,407,l), -(396,697,l), -(269,697,l), -(269,407,l) +(397,407,l), +(397,697,l), +(270,697,l), +(270,407,l) ); }, { @@ -42899,7 +42894,7 @@ nodes = ( ); } ); -width = 466; +width = 467; }, { layerId = m003; @@ -42934,7 +42929,7 @@ color = 1; glyphname = quotesingle; kernLeft = quotedbl; kernRight = quotedbl; -lastChange = "2024-01-30 09:41:35 +0000"; +lastChange = "2024-01-30 09:47:21 +0000"; layers = ( { layerId = "F91D9E91-C1BC-4259-B0D8-112C0CBA2B8E"; @@ -62485,7 +62480,7 @@ key = copyrights; values = ( { language = dflt; -value = "Copyright 2021 The Hanken Grotesk Project Authors (https://github.com/marcologous/hanken-grotesk)"; +value = "Copyright 2023 The Hanken Grotesk Project Authors (https://github.com/marcologous/hanken-grotesk)"; } ); }, @@ -62581,5 +62576,5 @@ tH = "66"; }; }; versionMajor = 3; -versionMinor = 13; +versionMinor = 14; } diff --git a/sources/HankenGrotesk_autospace.py b/sources/HankenGrotesk_autospace.py deleted file mode 100644 index 1ff36f9..0000000 --- a/sources/HankenGrotesk_autospace.py +++ /dev/null @@ -1,35 +0,0 @@ - -# Reference -# Script, Category, Subcategory, case, value, referenceGlyph, filter - -# Letters -*,Letter,*,upper,1.25,H,*, -*,Letter,*,smallCaps,1.1,h.sc,*, -*,Letter,*,lower,1,x,*, -*,Letter,*,minor,0.7,m.sups,.sups, - -# Numbers -*,Number,Decimal Digit,*,1.2,one,*, -*,Number,Decimal Digit,*,1.2,zero.osf,.osf, -*,Number,Fraction,minor,1.3,*,*, -*,Number,*,*,0.8,*,.dnom, -*,Number,*,*,0.8,*,.numr, -*,Number,*,*,0.8,*,.inferior, -*,Number,*,*,0.8,*,superior, - -# Punctuation -*,Punctuation,Other,*,1.4,*,*, -*,Punctuation,Parenthesis,*,1.2,*,*, -*,Punctuation,Quote,*,1.2,*,*, -*,Punctuation,Dash,*,1,*,*, -*,Punctuation,*,*,1,*,slash, -*,Punctuation,*,*,1.2,*,*, - -# Symbols -*,Symbol,Currency,*,1.6,*,*, -*,Symbol,*,*,1.5,*,*, -*,Mark,*,*,1,*,*, - -# Devanagari -devanagari,Letter,Other,*,1,devaHeight,*, -devanagari,Letter,Ligature,*,1,devaHeight,*,