From 3da0c71eeaf4f8f73fc9009de5c37fac570e8663 Mon Sep 17 00:00:00 2001 From: be5invis Date: Mon, 7 Mar 2016 22:37:02 +0800 Subject: [PATCH] prepare 1.8.2 --- README.md | 3 +++ generator.js | 11 +++++++--- glyphs/symbol-other.ptl | 2 +- makefile | 48 +++++++++++++++++++++++++---------------- onegroup.mk | 20 ++++++----------- parameters.toml | 5 +++-- 6 files changed, 52 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index c832953..ef899dd 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,9 @@ There's another building option `NOLIG`, which removes all ligations in the resu ## Release Notes +* **1.8.2** + * Iosevka now provides a new variant family “IosevkaNL”, with ligation disabled to avoid typesetting issues under some Linux environments. + * **1.8.1** - Added more ligations. The current set is: diff --git a/generator.js b/generator.js index 6fa3f6c..73d7319 100644 --- a/generator.js +++ b/generator.js @@ -25,7 +25,8 @@ var font = function(){ console.log(' Start building font ' + fontUniqueName); var font = buildGlyphs.build.call(emptyFont, para); console.log(' ' + fontUniqueName + " Successfully built."); - font.features.sscompose = para.sscompose + font.features.sscompose = para.sscompose; + font.parameters = para; return font; }(); @@ -81,8 +82,12 @@ if(argv.feature) (function(){ + '@GDEF_Ligature =[' + gdef.ligature.join(' \n') + '];\n' + '@GDEF_Mark = [' + gdef.mark.join(' \n') + '];\n' + 'table GDEF { GlyphClassDef @GDEF_Simple, @GDEF_Ligature, @GDEF_Mark, ;} GDEF;' - - fs.writeFileSync(argv.feature, featurefile, 'utf8'); + + featurefile += fs.readFileSync(__dirname + '/features/common.fea', 'utf-8'); + featurefile += fs.readFileSync(__dirname + '/features/' + (font.parameters.isItalic ? 'italiconly.fea' : 'uprightonly.fea'), 'utf-8'); + if(!font.parameters.disableLigation) + featurefile += fs.readFileSync(__dirname + '/features/ligation.fea', 'utf-8'); + fs.writeFileSync(argv.feature, featurefile, 'utf-8'); })(); /* diff --git a/glyphs/symbol-other.ptl b/glyphs/symbol-other.ptl index 5cd2745..bc8c3f1 100644 --- a/glyphs/symbol-other.ptl +++ b/glyphs/symbol-other.ptl @@ -126,7 +126,7 @@ symbol-block 'Metric marks' save 'metmark' 0xE09F ### Ligature-orienteds -symbol-block 'Ligature-oriented Subglyphs' +symbol-block 'Ligature-oriented Subglyphs' : if [not para.disableLigation] : begin # Shifted arrowheads local arrowheadsKern : clamp 0 (WIDTH / 2) (WIDTH - OPERATORSTROKE * 3) sketch diff --git a/makefile b/makefile index 5c1d275..ca00cec 100644 --- a/makefile +++ b/makefile @@ -1,8 +1,8 @@ default: fonts include makesupport.mk -PARAM_DEFAULT = FAST='$(FAST)' SUFFIX='$(SUFFIX)' VARIANTNAME='$(VARIANTNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)' ARCPREFIX='$(ARCPREFIX)' NOLIG='$(NOLIG)' -PARAM_SLAB = FAST='$(FAST)' SUFFIX='$(SUFFIX)-slab' VARIANTNAME='$(VARIANTNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_SUFFIX='slab' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)' ARCPREFIX='$(ARCPREFIX)' NOLIG='$(NOLIG)' +PARAM_DEFAULT = FAST='$(FAST)' SUFFIX='$(SUFFIX)' VARNAME='$(VARNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)' ARCPREFIX='$(ARCPREFIX)' NOLIG='$(NOLIG)' NOCHARMAP='$(NOCHARMAP)' +PARAM_SLAB = FAST='$(FAST)' SUFFIX='$(SUFFIX)-slab' VARNAME='$(VARNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_SUFFIX='slab' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)' ARCPREFIX='$(ARCPREFIX)' NOLIG='$(NOLIG)' NOCHARMAP='$(NOCHARMAP)' ### Sometimes make will freak out and report ACCESS VIOLATION for me... so i have to add some repeation LOOPS = 0 1 2 @@ -70,31 +70,43 @@ archives-slab : fonts-slab # Releases releasepack-default : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) pages-default pages-slab archives-default archives-slab VERSION=$(VERSION) ARCPREFIX='a-' -releasepack-nolig : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) pages-default pages-slab archives-default archives-slab VERSION=$(VERSION) VARIANTNAME='nolig-' STYLE_COMMON='nolig' NOLIG='true' ARCPREFIX='a-nolig-' + $(MAKE) pages-default pages-slab archives-default archives-slab VERSION=$(VERSION) \ + ARCPREFIX='a-' +releasepack-nl : $(SCRIPTS) | $(OBJDIR) dist + $(MAKE) pages-default pages-slab archives-default archives-slab VERSION=$(VERSION) \ + VARNAME='nl-' ARCPREFIX='a-nl-' STYLE_COMMON='nl' NOCHARMAP='true' fonts-hooky : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) fonts-default VERSION=$(VERSION) VARIANTNAME='hooky-' STYLE_UPRIGHT='v-l-hooky v-i-hooky' ARCPREFIX='b-variant-hooky-' + $(MAKE) fonts-default VERSION=$(VERSION) \ + VARNAME='hooky-' ARCPREFIX='b-variant-hooky-' STYLE_UPRIGHT='v-l-hooky v-i-hooky' NOCHARMAP='true' fonts-zshaped : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) fonts-default VERSION=$(VERSION) VARIANTNAME='zshaped-' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' ARCPREFIX='b-variant-zshaped-' + $(MAKE) fonts-default VERSION=$(VERSION) \ + VARNAME='zshaped-' ARCPREFIX='b-variant-zshaped-' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' NOCHARMAP='true' releasepack-hooky : fonts-hooky - $(MAKE) archives-default VERSION=$(VERSION) VARIANTNAME='hooky-' STYLE_UPRIGHT='v-l-hooky v-i-hooky' ARCPREFIX='b-variant-hooky-' + $(MAKE) archives-default VERSION=$(VERSION) \ + VARNAME='hooky-' ARCPREFIX='b-variant-hooky-' STYLE_UPRIGHT='v-l-hooky v-i-hooky' NOCHARMAP='true' releasepack-zshaped : fonts-zshaped - $(MAKE) archives-default VERSION=$(VERSION) VARIANTNAME='zshaped-' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' ARCPREFIX='b-variant-zshaped-' -releasepack-hooky-nolig : fonts-hooky - $(MAKE) archives-default VERSION=$(VERSION) VARIANTNAME='hooky-nolig-' STYLE_COMMON='nolig' STYLE_UPRIGHT='v-l-hooky v-i-hooky' ARCPREFIX='b-variant-hooky-nolig-' -releasepack-zshaped-nolig : fonts-zshaped - $(MAKE) archives-default VERSION=$(VERSION) VARIANTNAME='zshaped-nolig-' STYLE_COMMON='nolig' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' ARCPREFIX='b-variant-zshaped-nolig-' + $(MAKE) archives-default VERSION=$(VERSION) \ + VARNAME='zshaped-' ARCPREFIX='b-variant-zshaped-' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' NOCHARMAP='true' +releasepack-hooky-nl : fonts-hooky + $(MAKE) archives-default VERSION=$(VERSION) \ + VARNAME='hooky-nl-' ARCPREFIX='b-variant-hooky-nl-' STYLE_COMMON='nl' STYLE_UPRIGHT='v-l-hooky v-i-hooky' NOCHARMAP='true' +releasepack-zshaped-nl : fonts-zshaped + $(MAKE) archives-default VERSION=$(VERSION) \ + VARNAME='zshaped-nl-' ARCPREFIX='b-variant-zshaped-nl-' STYLE_COMMON='nl' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped' NOCHARMAP='true' fonts-fw : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) fonts-default fonts-slab VERSION=$(VERSION) STYLE_COMMON='cjk' VARIANTNAME='wfw-' ARCPREFIX='c-withfw-' + $(MAKE) fonts-default fonts-slab VERSION=$(VERSION) \ + VARNAME='wfw-' ARCPREFIX='c-withfw-' STYLE_COMMON='cjk' NOCHARMAP='true' fonts-cc : $(SCRIPTS) | $(OBJDIR) dist - $(MAKE) fonts-default fonts-slab VERSION=$(VERSION) STYLE_COMMON='cjk cc' VARIANTNAME='wcc-' ARCPREFIX='c-withfw-cc-' + $(MAKE) fonts-default fonts-slab VERSION=$(VERSION) \ + VARNAME='wcc-' ARCPREFIX='c-withfw-cc-' STYLE_COMMON='cjk cc' NOCHARMAP='true' releasepack-fw : fonts-fw - $(MAKE) archives-default archives-slab VERSION=$(VERSION) STYLE_COMMON='cjk' VARIANTNAME='wfw-' ARCPREFIX='c-withfw-' + $(MAKE) archives-default archives-slab VERSION=$(VERSION) \ + VARNAME='wfw-' ARCPREFIX='c-withfw-' STYLE_COMMON='cjk' NOCHARMAP='true' releasepack-cc : fonts-cc - $(MAKE) archives-default archives-slab VERSION=$(VERSION) STYLE_COMMON='cjk cc' VARIANTNAME='wcc-' ARCPREFIX='c-withfw-cc-' + $(MAKE) archives-default archives-slab VERSION=$(VERSION) \ + VARNAME='wcc-' ARCPREFIX='c-withfw-cc-' STYLE_COMMON='cjk cc' NOCHARMAP='true' -release-all : releasepack-default releasepack-nolig releasepack-hooky releasepack-zshaped releasepack-hooky-nolig releasepack-zshaped-nolig releasepack-fw releasepack-cc +release-all : releasepack-default releasepack-nl releasepack-hooky releasepack-zshaped releasepack-hooky-nl releasepack-zshaped-nl releasepack-fw releasepack-cc fw : fonts-fw fonts-cc webfonts : webfonts-default webfonts-slab diff --git a/onegroup.mk b/onegroup.mk index ea0a8be..0321343 100644 --- a/onegroup.mk +++ b/onegroup.mk @@ -2,7 +2,7 @@ default: fonts TARGETUPM = 1000 include makesupport.mk -PREFIX = $(VARIANTNAME)iosevka$(SUFFIX) +PREFIX = $(VARNAME)iosevka$(SUFFIX) ARCPREFIXB = iosevka$(SUFFIX) # Change this when an error reports @@ -30,15 +30,13 @@ UPRIGHT = $(OBJDIR)/$(PREFIX)-thin.ttf $(OBJDIR)/$(PREFIX)-extralight.ttf $(OBJD ITALIC = $(OBJDIR)/$(PREFIX)-thinitalic.ttf $(OBJDIR)/$(PREFIX)-extralightitalic.ttf $(OBJDIR)/$(PREFIX)-lightitalic.ttf $(OBJDIR)/$(PREFIX)-italic.ttf $(OBJDIR)/$(PREFIX)-mediumitalic.ttf $(OBJDIR)/$(PREFIX)-bolditalic.ttf $(OBJDIR)/$(PREFIX)-heavyitalic.ttf OBLIQUE = $(OBJDIR)/$(PREFIX)-thinoblique.ttf $(OBJDIR)/$(PREFIX)-extralightoblique.ttf $(OBJDIR)/$(PREFIX)-lightoblique.ttf $(OBJDIR)/$(PREFIX)-oblique.ttf $(OBJDIR)/$(PREFIX)-mediumoblique.ttf $(OBJDIR)/$(PREFIX)-boldoblique.ttf $(OBJDIR)/$(PREFIX)-heavyoblique.ttf TARGETS = $(UPRIGHT) $(ITALIC) $(OBLIQUE) -MAPS = $(subst .ttf,.charmap,$(TARGETS)) +MAPS = $(if $(NOCHARMAP),,$(OBJDIR)/$(PREFIX)-regular.charmap) FDTS = $(subst .ttf,.fdt,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS))) SVG0 = $(subst .ttf,.svg,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS))) -ABFEAT = $(subst .ttf,.ab.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS))) -FEATURE = $(subst .ttf,.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(UPRIGHT) $(OBLIQUE))) -FEATITA = $(subst .ttf,.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(ITALIC))) +FEATURE = $(subst .ttf,.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS))) PASS1 = $(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS)) PASS1 = $(subst $(OBJDIR)/,$(OBJDIR)/.pass1-,$(TARGETS)) PASS2 = $(subst $(OBJDIR)/,$(OBJDIR)/.pass2-,$(TARGETS)) @@ -48,9 +46,9 @@ DISTTARGETS = $(subst $(OBJDIR)/,$(DISTDIR)/,$(TARGETS)) fonts : $(DISTTARGETS) svgs : $(SVG0) - # Pass 0 : file construction -OUTPUTS = --meta $@ --feature $(subst .fdt,.ab.fea,$@) --svg $(subst .fdt,.svg,$@) --charmap $(subst .fdt,.charmap,$(subst $(OBJDIR)/.pass0-,$(OBJDIR)/,$@)) +OUTPUTS = --meta $@ --feature $(subst .fdt,.fea,$@) --svg $(subst .fdt,.svg,$@) +OUTPUT_CM = $(if $(NOCHARMAP),,--charmap $(subst .fdt,.charmap,$(subst $(OBJDIR)/.pass0-,$(OBJDIR)/,$@))) $(OBJDIR)/.pass0-$(PREFIX)-thin.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) $(NODE_FDT) generator iosevka $(STYLE_COMMON) w-thin s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX) $(OUTPUTS) $(OBJDIR)/.pass0-$(PREFIX)-extralight.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) @@ -58,7 +56,7 @@ $(OBJDIR)/.pass0-$(PREFIX)-extralight.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) $(OBJDIR)/.pass0-$(PREFIX)-light.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) $(NODE_FDT) generator iosevka $(STYLE_COMMON) w-light s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX) $(OUTPUTS) $(OBJDIR)/.pass0-$(PREFIX)-regular.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) - $(NODE_FDT) generator iosevka $(STYLE_COMMON) w-book s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX) $(OUTPUTS) + $(NODE_FDT) generator iosevka $(STYLE_COMMON) w-book s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX) $(OUTPUTS) $(OUTPUT_CM) $(OBJDIR)/.pass0-$(PREFIX)-medium.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) $(NODE_FDT) generator iosevka $(STYLE_COMMON) w-medium s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX) $(OUTPUTS) $(OBJDIR)/.pass0-$(PREFIX)-bold.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) @@ -98,14 +96,10 @@ $(OBJDIR)/.pass0-$(PREFIX)-heavyoblique.fdt : $(SCRIPTS) | $(OBJDIR) $(DISTDIR) $(SVG0) : $(OBJDIR)/.pass0-%.svg : $(OBJDIR)/.pass0-%.fdt $(PASS) -$(ABFEAT) : $(OBJDIR)/.pass0-%.ab.fea : $(OBJDIR)/.pass0-%.fdt +$(FEATURE) : $(OBJDIR)/.pass0-%.fea : $(OBJDIR)/.pass0-%.fdt $(PASS) $(MAPS) : $(OBJDIR)/%.charmap : $(OBJDIR)/.pass0-%.fdt $(PASS) -$(FEATURE) : $(OBJDIR)/.pass0-%.fea : $(OBJDIR)/.pass0-%.ab.fea features/common.fea features/uprightonly.fea $(if $(NOLIG),,features/ligation.fea) - @cat $^ > $@ -$(FEATITA) : $(OBJDIR)/.pass0-%.fea : $(OBJDIR)/.pass0-%.ab.fea features/common.fea features/italiconly.fea $(if $(NOLIG),,features/ligation.fea) - @cat $^ > $@ # Pass 1 : Outline cleanup and merge features diff --git a/parameters.toml b/parameters.toml index c127215..b039c7f 100644 --- a/parameters.toml +++ b/parameters.toml @@ -371,8 +371,9 @@ fullwidth_codes = [ [cc.adds] family = 'CC' -[nolig] -[nolig.adds] +[nl] +disableLigation = true +[nl.adds] family = 'NL' # Weights