1.0-beta8!
This commit is contained in:
parent
7309872ee7
commit
d837d9bc94
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -46,6 +46,4 @@ parameters.js
|
|||
support/glyph.js
|
||||
support/stroke.js
|
||||
support/spiroexpand.js
|
||||
testdrive/*.ttf
|
||||
testdrive/*.woff
|
||||
testdrive/*.charmap
|
||||
testdrive/assets
|
|
@ -399,17 +399,26 @@ define [buildFont para recursive] : begin
|
|||
return rs
|
||||
define [quadcontrols x1 y1 samples raf ty] : bezcontrols (x1 * 2 / 3) (y1 * 2 / 3) [mix 1 x1 (2 / 3)] [mix 1 y1 (2 / 3)] samples raf ty
|
||||
|
||||
define {jhv, jvh} : let [hv {}] [vh {}] : begin
|
||||
local samples 4
|
||||
foreach [j : range 1 samples] : begin
|
||||
local theta : j / samples * Math.PI / 2
|
||||
local c : Math.pow [Math.cos theta] (2 / SUPERNESS)
|
||||
local s : Math.pow [Math.sin theta] (2 / SUPERNESS)
|
||||
hv.push {s (1 - c)}
|
||||
vh.push {(1 - c) s}
|
||||
define {jhv, jvh} : let [cache {}] : begin
|
||||
local [build samples] : begin
|
||||
local hv {}
|
||||
local vh {}
|
||||
foreach [j : range 1 samples] : begin
|
||||
local theta : j / samples * Math.PI / 2
|
||||
local c : Math.pow [Math.cos theta] (2 / SUPERNESS)
|
||||
local s : Math.pow [Math.sin theta] (2 / SUPERNESS)
|
||||
hv.push {s (1 - c)}
|
||||
vh.push {(1 - c) s}
|
||||
cache.(samples) = {.hv hv .vh vh}
|
||||
local [hv samples] : begin
|
||||
if [not cache.(samples)] : build samples
|
||||
return cache.(samples).hv
|
||||
local [vh samples] : begin
|
||||
if [not cache.(samples)] : build samples
|
||||
return cache.(samples).vh
|
||||
list hv vh
|
||||
define [archv samples notiny k raf] : alsothruthem jhv raf
|
||||
define [arcvh samples notiny k raf] : alsothruthem jvh raf
|
||||
define [archv samples notiny k raf] : alsothruthem [jhv [fallback samples 4]] raf
|
||||
define [arcvh samples notiny k raf] : alsothruthem [jvh [fallback samples 4]] raf
|
||||
|
||||
define [complexThru] : begin
|
||||
local a : {}.slice.call arguments
|
||||
|
|
52
makefile
52
makefile
|
@ -2,10 +2,10 @@ OBJDIR = build
|
|||
SUPPORT_FILES = support/glyph.js support/stroke.js support/spiroexpand.js parameters.js extract.js generate.js emptyfont.toml parameters.toml
|
||||
GLYPH_SEGMENTS = glyphs/common-shapes.patel glyphs/overmarks.patel glyphs/latin-basic-capital.patel glyphs/latin-basic-lower.patel glyphs/greek.patel glyphs/cyrillic-basic.patel glyphs/latin-extend-basis.patel glyphs/latin-extend-decorated.patel glyphs/cyrillic-extended.patel glyphs/numbers.patel glyphs/symbol-ascii.patel glyphs/symbol-punctuation.patel glyphs/symbol-math.patel glyphs/symbol-geometric.patel glyphs/symbol-other.patel glyphs/symbol-letter.patel glyphs/autobuilds.patel
|
||||
FILES = $(SUPPORT_FILES) buildglyphs.js
|
||||
PARAM_DEFAULT = FAST='$(FAST)' VARIANTNAME='$(VARIANTNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)'
|
||||
PARAM_SLAB = FAST='$(FAST)' VARIANTNAME='-slab$(VARIANTNAME)' STYLE_COMMON='slab $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' STYLE_X_REGULAR='x-slab-regular' STYLE_X_BOLD='x-slab-bold' STYLE_X_ITALIC='x-slab-italic' STYLE_X_BOLDITALIC='x-slab-bolditalic'
|
||||
PARAM_CC = FAST='$(FAST)' VARIANTNAME='cc$(VARIANTNAME)' STYLE_COMMON='cc $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)'
|
||||
PARAM_CC_SLAB = FAST='$(FAST)' VARIANTNAME='cc-slab$(VARIANTNAME)' STYLE_COMMON='cc slab x-cc-slab $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' STYLE_X_REGULAR='x-slab-regular' STYLE_X_BOLD='x-slab-bold' STYLE_X_ITALIC='x-slab-italic' STYLE_X_BOLDITALIC='x-slab-bolditalic'
|
||||
PARAM_DEFAULT = FAST='$(FAST)' VARIANTNAME='$(VARIANTNAME)' STYLE_COMMON='$(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)'
|
||||
PARAM_SLAB = FAST='$(FAST)' VARIANTNAME='-slab$(VARIANTNAME)' STYLE_COMMON='slab $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' STYLE_X_REGULAR='x-slab-regular' STYLE_X_BOLD='x-slab-bold' STYLE_X_ITALIC='x-slab-italic' STYLE_X_BOLDITALIC='x-slab-bolditalic' VERSION='$(VERSION)'
|
||||
PARAM_CC = FAST='$(FAST)' VARIANTNAME='cc$(VARIANTNAME)' STYLE_COMMON='cc $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' VERSION='$(VERSION)'
|
||||
PARAM_CC_SLAB = FAST='$(FAST)' VARIANTNAME='cc-slab$(VARIANTNAME)' STYLE_COMMON='cc slab x-cc-slab $(STYLE_COMMON)' STYLE_UPRIGHT='$(STYLE_UPRIGHT)' STYLE_ITALIC='$(STYLE_ITALIC)' STYLE_X_REGULAR='x-slab-regular' STYLE_X_BOLD='x-slab-bold' STYLE_X_ITALIC='x-slab-italic' STYLE_X_BOLDITALIC='x-slab-bolditalic' VERSION='$(VERSION)'
|
||||
|
||||
### Sometimes make will freak out and report ACCESS VIOLATION for me... so i have to add some repeation
|
||||
ifeq ($(OS),Windows_NT)
|
||||
|
@ -15,8 +15,9 @@ LOOPS = 1
|
|||
endif
|
||||
|
||||
fonts : fonts-default fonts-cc fonts-slab fonts-cc-slab
|
||||
|
||||
test : test-default test-cc test-slab test-cc-slab
|
||||
pages : pages-default pages-cc pages-slab pages-cc-slab
|
||||
release : release-default release-cc release-slab release-cc-slab
|
||||
|
||||
$(OBJDIR) :
|
||||
@- mkdir $@
|
||||
|
@ -42,6 +43,9 @@ fonts-cc : fdts-cc
|
|||
fonts-cc-slab : fdts-cc-slab
|
||||
@$(MAKE) -s -f onegroup.mk fonts $(PARAM_CC_SLAB)
|
||||
|
||||
|
||||
### USED FOR TESTING AND RELEASING
|
||||
### DO NOT TOUCH!
|
||||
# testdrive
|
||||
test-default : fonts-default
|
||||
@$(MAKE) -s -f onegroup.mk test $(PARAM_DEFAULT)
|
||||
|
@ -52,6 +56,44 @@ test-cc : fonts-cc
|
|||
test-cc-slab : fonts-cc-slab
|
||||
@$(MAKE) -s -f onegroup.mk test $(PARAM_CC_SLAB)
|
||||
|
||||
# Pages
|
||||
pages-default : fonts-default
|
||||
@$(MAKE) -s -f onegroup.mk pages $(PARAM_DEFAULT)
|
||||
pages-slab : fonts-slab
|
||||
@$(MAKE) -s -f onegroup.mk pages $(PARAM_SLAB)
|
||||
pages-cc : fonts-cc
|
||||
@$(MAKE) -s -f onegroup.mk pages $(PARAM_CC)
|
||||
pages-cc-slab : fonts-cc-slab
|
||||
@$(MAKE) -s -f onegroup.mk pages $(PARAM_CC_SLAB)
|
||||
|
||||
# Release
|
||||
release-default : fonts-default
|
||||
@$(MAKE) -s -f onegroup.mk release $(PARAM_DEFAULT)
|
||||
release-slab : fonts-slab
|
||||
@$(MAKE) -s -f onegroup.mk release $(PARAM_SLAB)
|
||||
release-cc : fonts-cc
|
||||
@$(MAKE) -s -f onegroup.mk release $(PARAM_CC)
|
||||
release-cc-slab : fonts-cc-slab
|
||||
@$(MAKE) -s -f onegroup.mk release $(PARAM_CC_SLAB)
|
||||
|
||||
# Archives
|
||||
archives-default : fonts-default
|
||||
@$(MAKE) -s -f onegroup.mk archives $(PARAM_DEFAULT)
|
||||
archives-slab : fonts-slab
|
||||
@$(MAKE) -s -f onegroup.mk archives $(PARAM_SLAB)
|
||||
archives-cc : fonts-cc
|
||||
@$(MAKE) -s -f onegroup.mk archives $(PARAM_CC)
|
||||
archives-cc-slab : fonts-cc-slab
|
||||
@$(MAKE) -s -f onegroup.mk archives $(PARAM_CC_SLAB)
|
||||
|
||||
# Variant releases
|
||||
releasepack-default : $(FILES) | $(OBJDIR)
|
||||
$(MAKE) pages release VERSION=$(VERSION)
|
||||
releasepack-hooky : $(FILES) | $(OBJDIR)
|
||||
$(MAKE) archives-default archives-cc VERSION=$(VERSION) VARIANTNAME='-hooky' STYLE_UPRIGHT='v-l-hooky v-i-hooky'
|
||||
releasepack-zshaped : $(FILES) | $(OBJDIR)
|
||||
$(MAKE) archives-default archives-cc VERSION=$(VERSION) VARIANTNAME='-zshaped' STYLE_UPRIGHT='v-l-zshaped v-i-zshaped'
|
||||
release-all : releasepack-default releasepack-hooky releasepack-zshaped
|
||||
|
||||
$(SUPPORT_FILES) :
|
||||
patel-c --strict $< -o $@
|
||||
|
|
33
onegroup.mk
33
onegroup.mk
|
@ -43,7 +43,7 @@ $(OBJDIR)/.pass0-$(PREFIX)-bolditalic.fdt : $(FILES) | $(OBJDIR)
|
|||
$(NODE) generate -o $@ iosevka $(STYLE_COMMON) w-bold s-italic x-bolditalic $(STYLE_ITALIC) $(STYLE_X_BOLDITALIC)
|
||||
|
||||
$(PASS0) : $(OBJDIR)/.pass0-%.ttf : $(OBJDIR)/.pass0-%.fdt
|
||||
$(NODE) extract --upm 16000 --uprightify 1 --ttf $@ $<
|
||||
$(NODE) extract --upm 12800 --uprightify 1 --ttf $@ $<
|
||||
$(ABFEAT) : $(OBJDIR)/.pass0-%.ab.fea : $(OBJDIR)/.pass0-%.fdt
|
||||
$(NODE) extract --feature $@ $<
|
||||
$(MAPS) : $(OBJDIR)/%.charmap : $(OBJDIR)/.pass0-%.fdt
|
||||
|
@ -91,32 +91,37 @@ ARCHIVEDIR = release-archives
|
|||
RELEASES = $(subst $(OBJDIR)/,$(RELEASEDIR)/,$(TARGETS))
|
||||
$(RELEASES) : $(RELEASEDIR)/%.ttf : $(OBJDIR)/%.ttf
|
||||
cp $< $@
|
||||
PAGESTTF = $(subst $(OBJDIR)/,pages/assets/,$(TARGETS))
|
||||
$(PAGESTTF) : pages/assets/%.ttf : $(OBJDIR)/%.ttf
|
||||
|
||||
PAGEDIR = pages/assets
|
||||
PAGESTTF = $(subst $(OBJDIR)/,$(PAGEDIR)/,$(TARGETS))
|
||||
$(PAGESTTF) : $(PAGEDIR)/%.ttf : $(OBJDIR)/%.ttf
|
||||
cp $< $@
|
||||
PAGESWOFF = $(subst .ttf,.woff,$(PAGESTTF))
|
||||
$(PAGESWOFF) : pages/assets/%.woff : pages/assets/%.ttf
|
||||
$(PAGESWOFF) : $(PAGEDIR)/%.woff : $(PAGEDIR)/%.ttf
|
||||
sfnt2woff $<
|
||||
PAGESMAPS = $(subst $(OBJDIR)/,pages/assets/,$(MAPS))
|
||||
$(PAGESMAPS) : pages/assets/%.charmap : $(OBJDIR)/%.charmap
|
||||
PAGESMAPS = $(subst $(OBJDIR)/,$(PAGEDIR)/,$(MAPS))
|
||||
$(PAGESMAPS) : $(PAGEDIR)/%.charmap : $(OBJDIR)/%.charmap
|
||||
cp $< $@
|
||||
$(ARCHIVEDIR)/$(PREFIX).tar.bz2 : $(TARGETS)
|
||||
|
||||
$(ARCHIVEDIR)/$(PREFIX)-$(VERSION).tar.bz2 : $(TARGETS)
|
||||
cd $(OBJDIR) && tar -cjvf ../$@ $(subst $(OBJDIR)/,,$^)
|
||||
$(ARCHIVEDIR)/$(PREFIX).zip : $(TARGETS)
|
||||
$(ARCHIVEDIR)/$(PREFIX)-$(VERSION).zip : $(TARGETS)
|
||||
cd $(OBJDIR) && 7z a -tzip ../$@ $(subst $(OBJDIR)/,,$^)
|
||||
archives : $(ARCHIVEDIR)/$(PREFIX).tar.bz2 $(ARCHIVEDIR)/$(PREFIX).zip
|
||||
|
||||
archives : $(ARCHIVEDIR)/$(PREFIX)-$(VERSION).tar.bz2 $(ARCHIVEDIR)/$(PREFIX)-$(VERSION).zip
|
||||
pages : $(PAGESTTF) $(PAGESWOFF) $(PAGESMAPS)
|
||||
release : $(RELEASES) archives pages
|
||||
|
||||
# testdrive
|
||||
TESTTTF = $(subst $(OBJDIR)/,testdrive/,$(TARGETS))
|
||||
$(TESTTTF) : testdrive/%.ttf : $(OBJDIR)/%.ttf
|
||||
TESTDIR = testdrive/assets
|
||||
TESTTTF = $(subst $(OBJDIR)/,$(TESTDIR)/,$(TARGETS))
|
||||
$(TESTTTF) : $(TESTDIR)/%.ttf : $(OBJDIR)/%.ttf
|
||||
cp $< $@
|
||||
TESTWOFF = $(subst .ttf,.woff,$(TESTTTF))
|
||||
$(TESTWOFF) : testdrive/%.woff : testdrive/%.ttf
|
||||
$(TESTWOFF) : $(TESTDIR)/%.woff : $(TESTDIR)/%.ttf
|
||||
sfnt2woff $<
|
||||
TESTMAPS = $(subst $(OBJDIR)/,testdrive/,$(MAPS))
|
||||
$(TESTMAPS) : testdrive/%.charmap : $(OBJDIR)/%.charmap
|
||||
TESTMAPS = $(subst $(OBJDIR)/,$(TESTDIR)/,$(MAPS))
|
||||
$(TESTMAPS) : $(TESTDIR)/%.charmap : $(OBJDIR)/%.charmap
|
||||
cp $< $@
|
||||
|
||||
test : $(TESTTTF) $(TESTWOFF) $(TESTMAPS)
|
|
@ -8,83 +8,83 @@
|
|||
}
|
||||
@font-face {
|
||||
font-family: IosevkaWEB;
|
||||
src: url('iosevka-regular.woff') format('woff'), url('iosevka-regular.ttf') format('truetype');
|
||||
src: url('assets/iosevka-regular.woff') format('woff'), url('assets/iosevka-regular.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaWEB;
|
||||
font-style: italic;
|
||||
src: url('iosevka-italic.woff') format('woff'), url('iosevka-italic.ttf') format('truetype');
|
||||
src: url('assets/iosevka-italic.woff') format('woff'), url('assets/iosevka-italic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaWEB;
|
||||
font-weight: bold;
|
||||
src: url('iosevka-bold.woff') format('woff'), url('iosevka-bold.ttf') format('truetype');
|
||||
src: url('assets/iosevka-bold.woff') format('woff'), url('assets/iosevka-bold.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaWEB;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
src: url('iosevka-bolditalic.woff') format('woff'), url('iosevka-bolditalic.ttf') format('truetype');
|
||||
src: url('assets/iosevka-bolditalic.woff') format('woff'), url('assets/iosevka-bolditalic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaSlabWEB;
|
||||
src: url('iosevka-slab-regular.woff') format('woff'), url('iosevka-slab-regular.ttf') format('truetype');
|
||||
src: url('assets/iosevka-slab-regular.woff') format('woff'), url('assets/iosevka-slab-regular.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaSlabWEB;
|
||||
font-style: italic;
|
||||
src: url('iosevka-slab-italic.woff') format('woff'), url('iosevka-slab-italic.ttf') format('truetype');
|
||||
src: url('assets/iosevka-slab-italic.woff') format('woff'), url('assets/iosevka-slab-italic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaSlabWEB;
|
||||
font-weight: bold;
|
||||
src: url('iosevka-slab-bold.woff') format('woff'), url('iosevka-slab-bold.ttf') format('truetype');
|
||||
src: url('assets/iosevka-slab-bold.woff') format('woff'), url('assets/iosevka-slab-bold.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaSlabWEB;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
src: url('iosevka-slab-bolditalic.woff') format('woff'), url('iosevka-slab-bolditalic.ttf') format('truetype');
|
||||
src: url('assets/iosevka-slab-bolditalic.woff') format('woff'), url('assets/iosevka-slab-bolditalic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCWEB;
|
||||
src: url('iosevkacc-regular.woff') format('woff'), url('iosevkacc-regular.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-regular.woff') format('woff'), url('assets/iosevkacc-regular.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCWEB;
|
||||
font-style: italic;
|
||||
src: url('iosevkacc-italic.woff') format('woff'), url('iosevkacc-italic.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-italic.woff') format('woff'), url('assets/iosevkacc-italic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCWEB;
|
||||
font-weight: bold;
|
||||
src: url('iosevkacc-bold.woff') format('woff'), url('iosevkacc-bold.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-bold.woff') format('woff'), url('assets/iosevkacc-bold.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCWEB;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
src: url('iosevkacc-bolditalic.woff') format('woff'), url('iosevkacc-bolditalic.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-bolditalic.woff') format('woff'), url('assets/iosevkacc-bolditalic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCSlabWEB;
|
||||
src: url('iosevkacc-slab-regular.woff') format('woff'), url('iosevkacc-slab-regular.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-slab-regular.woff') format('woff'), url('assets/iosevkacc-slab-regular.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCSlabWEB;
|
||||
font-style: italic;
|
||||
src: url('iosevkacc-slab-italic.woff') format('woff'), url('iosevkacc-slab-italic.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-slab-italic.woff') format('woff'), url('assets/iosevkacc-slab-italic.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCSlabWEB;
|
||||
font-weight: bold;
|
||||
src: url('iosevkacc-slab-bold.woff') format('woff'), url('iosevkacc-slab-bold.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-slab-bold.woff') format('woff'), url('assets/iosevkacc-slab-bold.ttf') format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: IosevkaCCSlabWEB;
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
src: url('iosevkacc-slab-bolditalic.woff') format('woff'), url('iosevkacc-slab-bolditalic.ttf') format('truetype');
|
||||
src: url('assets/iosevkacc-slab-bolditalic.woff') format('woff'), url('assets/iosevkacc-slab-bolditalic.ttf') format('truetype');
|
||||
}
|
||||
a {
|
||||
color: black;
|
||||
|
@ -362,7 +362,7 @@
|
|||
sampleRows: []
|
||||
},
|
||||
ready: function(){
|
||||
this.$http.get(this.currentFont.name + '.charmap', function(data){
|
||||
this.$http.get('assets/' + this.currentFont.name + '.charmap', function(data){
|
||||
var rows = [];
|
||||
var row = null;
|
||||
var uhash = [];
|
||||
|
|
Loading…
Reference in New Issue
Block a user