mirror of
https://github.com/i-tu/Hasklig.git
synced 2024-09-11 10:36:46 +03:00
56 lines
2.5 KiB
Bash
Executable File
56 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# path to Python script that adds the SVG table
|
|
addSVG=$(cd $(dirname "$0") && pwd -P)/addSVGtable.py
|
|
|
|
# path to UVS file
|
|
UVS=$(cd $(dirname "$0") && pwd -P)/uvs.txt
|
|
|
|
rom=Roman/Masters
|
|
itm=Italic/Masters
|
|
|
|
ro_name=SourceCodeVariable-Roman
|
|
it_name=SourceCodeVariable-Italic
|
|
|
|
# build variable OTFs
|
|
buildMasterOTFs --mkot -ci,"$UVS" $rom/$ro_name.designspace
|
|
buildCFF2VF $rom/$ro_name.designspace
|
|
buildMasterOTFs --mkot -ci,"$UVS" $itm/$it_name.designspace
|
|
buildCFF2VF $itm/$it_name.designspace
|
|
|
|
# extract and subroutinize the CFF2 table
|
|
echo 'Subroutinizing' $rom/$ro_name.otf
|
|
tx -cff2 +S +b -std $rom/$ro_name.otf $rom/.tb_cff2 2> /dev/null
|
|
echo 'Subroutinizing' $itm/$it_name.otf
|
|
tx -cff2 +S +b -std $itm/$it_name.otf $itm/.tb_cff2 2> /dev/null
|
|
|
|
# replace CFF2 table with subroutinized version
|
|
sfntedit -a CFF2=$rom/.tb_cff2 $rom/$ro_name.otf 1> /dev/null
|
|
sfntedit -a CFF2=$itm/.tb_cff2 $itm/$it_name.otf 1> /dev/null
|
|
|
|
# add SVG table to variable OTFs
|
|
"$addSVG" $rom/$ro_name.otf svg
|
|
"$addSVG" $itm/$it_name.otf svg
|
|
|
|
# build variable TTFs
|
|
fontmake -m $rom/$ro_name.designspace -o variable --production-names
|
|
fontmake -m $itm/$it_name.designspace -o variable --production-names
|
|
|
|
# use cmap, DSIG, name, OS/2, hhea, post, SVG, and STAT tables from OTFs
|
|
sfntedit -x cmap=$rom/.tb_cmap,DSIG=$rom/.tb_DSIG,name=$rom/.tb_name,OS/2=$rom/.tb_os2,hhea=$rom/.tb_hhea,post=$rom/.tb_post,SVG=$rom/.tb_SVG,STAT=$rom/.tb_STAT $rom/$ro_name.otf 1> /dev/null
|
|
sfntedit -a cmap=$rom/.tb_cmap,DSIG=$rom/.tb_DSIG,name=$rom/.tb_name,OS/2=$rom/.tb_os2,hhea=$rom/.tb_hhea,post=$rom/.tb_post,SVG=$rom/.tb_SVG,STAT=$rom/.tb_STAT $rom/$ro_name.ttf 1> /dev/null
|
|
sfntedit -x cmap=$itm/.tb_cmap,DSIG=$itm/.tb_DSIG,name=$itm/.tb_name,OS/2=$itm/.tb_os2,hhea=$itm/.tb_hhea,post=$itm/.tb_post,SVG=$itm/.tb_SVG,STAT=$itm/.tb_STAT $itm/$it_name.otf 1> /dev/null
|
|
sfntedit -a cmap=$itm/.tb_cmap,DSIG=$itm/.tb_DSIG,name=$itm/.tb_name,OS/2=$itm/.tb_os2,hhea=$itm/.tb_hhea,post=$itm/.tb_post,SVG=$itm/.tb_SVG,STAT=$itm/.tb_STAT $itm/$it_name.ttf 1> /dev/null
|
|
|
|
# use GDEF, GPOS, and GSUB tables from TTFs
|
|
sfntedit -x GDEF=$rom/.tb_GDEF,GPOS=$rom/.tb_GPOS,GSUB=$rom/.tb_GSUB $rom/$ro_name.ttf 1> /dev/null
|
|
sfntedit -a GDEF=$rom/.tb_GDEF,GPOS=$rom/.tb_GPOS,GSUB=$rom/.tb_GSUB $rom/$ro_name.otf 1> /dev/null
|
|
sfntedit -x GDEF=$itm/.tb_GDEF,GPOS=$itm/.tb_GPOS,GSUB=$itm/.tb_GSUB $itm/$it_name.ttf 1> /dev/null
|
|
sfntedit -a GDEF=$itm/.tb_GDEF,GPOS=$itm/.tb_GPOS,GSUB=$itm/.tb_GSUB $itm/$it_name.otf 1> /dev/null
|
|
|
|
# delete build artifacts
|
|
rm */Masters/.tb_*
|
|
rm */Masters/master_*/*.*tf
|
|
|
|
echo "Done"
|