removed overlaps in ligation arrow sticks.

This commit is contained in:
be5invis 2016-02-27 04:44:31 +08:00
parent 251dfc3ddb
commit 4f87f98a25
3 changed files with 60 additions and 17 deletions

View File

@ -76,19 +76,23 @@ feature mkmk {
} mkmk;
# Programming ligations
lookup arrowHyphenSubRight { sub [hyphen equal] by [minus.arrowright equal.arrowright]; } arrowHyphenSubRight;
lookup arrowHyphenSubLeft { sub [hyphen equal] by [minus.arrowleft equal.arrowleft]; } arrowHyphenSubLeft;
lookup arrowHyphenSubMid { sub [hyphen equal] by [minus.arrowmid equal.arrowmid]; } arrowHyphenSubMid;
lookup arrowStickFR { sub [hyphen equal] by [minus.fr equal.fr]; } arrowStickFR;
lookup arrowStickLF { sub [hyphen equal] by [minus.lf equal.lf]; } arrowStickLF;
lookup arrowStickCR { sub [hyphen equal] by [minus.cr equal.cr]; } arrowStickCR;
lookup arrowStickLC { sub [hyphen equal] by [minus.lc equal.lc]; } arrowStickLC;
lookup arrowStickCF { sub [hyphen equal] by [minus.cf equal.cf]; } arrowStickCF;
lookup arrowStickFC { sub [hyphen equal] by [minus.fc equal.fc]; } arrowStickFC;
lookup arrowStickLR { sub [hyphen equal] by [minus.lr equal.lr]; } arrowStickLR;
lookup arrowExclamHTMLComment { sub exclam by exclam.htmlcommentstart; } arrowExclamHTMLComment;
lookup caltArrow1 {
# Arrows, sub
sub less [hyphen equal]' lookup arrowHyphenSubMid [hyphen equal]' lookup arrowHyphenSubMid greater; # <-->, <==>
sub less [hyphen equal]' lookup arrowHyphenSubMid greater; # <->, <=>
sub less [hyphen equal]' lookup arrowHyphenSubLeft [hyphen equal]' lookup arrowHyphenSubLeft; # <--, <==
sub less hyphen' lookup arrowHyphenSubLeft; # <-
sub less exclam' lookup arrowExclamHTMLComment hyphen' lookup arrowHyphenSubLeft hyphen' lookup arrowHyphenSubLeft; # <!--
sub [hyphen equal]' lookup arrowHyphenSubRight [hyphen equal]' lookup arrowHyphenSubRight greater; # -->, ==>
sub [hyphen equal]' lookup arrowHyphenSubRight greater; # ->, =>
sub less [hyphen equal]' lookup arrowStickLC [hyphen equal]' lookup arrowStickCR greater; # <-->, <==>
sub less [hyphen equal]' lookup arrowStickLR greater; # <->, <=>
sub less [hyphen equal]' lookup arrowStickLC [hyphen equal]' lookup arrowStickCF; # <--, <==
sub less hyphen' lookup arrowStickLF; # <-
sub less exclam' lookup arrowExclamHTMLComment hyphen' lookup arrowStickLC hyphen' lookup arrowStickCF; # <!--
sub [hyphen equal]' lookup arrowStickFC [hyphen equal]' lookup arrowStickCR greater; # -->, ==>
sub [hyphen equal]' lookup arrowStickFR greater; # ->, =>
} caltArrow1;
feature calt {
script latn;

View File

@ -127,22 +127,40 @@ symbol-block 'Metric marks'
### Ligature-orienteds
symbol-block 'Ligature-oriented Subglyphs'
# arrows
local cleft (O)
local cright (WIDTH - O)
local arrowr [clamp WIDTH (WIDTH * 2) (WIDTH + RIGHTSB - OPERATORSTROKE * 2.5)]
local arrowl (WIDTH - arrowr)
sketch
include : HBar SB arrowr parenMid OPERATORSTROKE
save 'minus.arrowright'
save 'minus.fr'
sketch
include : HBar arrowl RIGHTSB parenMid OPERATORSTROKE
save 'minus.arrowleft'
save 'minus.lf'
sketch
include : HBar cleft arrowr parenMid OPERATORSTROKE
save 'minus.cr'
sketch
include : HBar arrowl cright parenMid OPERATORSTROKE
save 'minus.lc'
sketch
include : HBar cleft RIGHTSB parenMid OPERATORSTROKE
save 'minus.cf'
sketch
include : HBar SB cright parenMid OPERATORSTROKE
save 'minus.fc'
sketch
include : HBar arrowl arrowr parenMid OPERATORSTROKE
save 'minus.arrowmid'
save 'minus.lr'
sketch
include : HBar cleft cright parenMid OPERATORSTROKE
save 'minus.cc'
sketch
include glyphs.exclam
include : Translate (((RIGHTSB - WIDTH) + (arrowl + WIDTH)) / 2 - MIDDLE) 0
save 'exclam.htmlcommentstart'
# =>
local dblarrowd : XH * [linreg 18 0.125 126 0.25 STROKE]
local sw : Math.min OPERATORSTROKE (dblarrowd * [clamp 0.45 0.75 ((1 - WHITENESS) * 1)])
@ -151,12 +169,32 @@ symbol-block 'Ligature-oriented Subglyphs'
sketch
include : HBarTop SB dblarrowr (parenMid + dblarrowd) sw
include : HBarBottom SB dblarrowr (parenMid - dblarrowd) sw
save 'equal.arrowright'
save 'equal.fr'
sketch
include : HBarTop dblarrowl RIGHTSB (parenMid + dblarrowd) sw
include : HBarBottom dblarrowl RIGHTSB (parenMid - dblarrowd) sw
save 'equal.arrowleft'
save 'equal.lf'
sketch
include : HBarTop cleft dblarrowr (parenMid + dblarrowd) sw
include : HBarBottom cleft dblarrowr (parenMid - dblarrowd) sw
save 'equal.cr'
sketch
include : HBarTop dblarrowl cright (parenMid + dblarrowd) sw
include : HBarBottom dblarrowl cright (parenMid - dblarrowd) sw
save 'equal.lc'
sketch
include : HBarTop cleft RIGHTSB (parenMid + dblarrowd) sw
include : HBarBottom cleft RIGHTSB (parenMid - dblarrowd) sw
save 'equal.cf'
sketch
include : HBarTop SB cright (parenMid + dblarrowd) sw
include : HBarBottom SB cright (parenMid - dblarrowd) sw
save 'equal.fc'
sketch
include : HBarTop dblarrowl dblarrowr (parenMid + dblarrowd) sw
include : HBarBottom dblarrowl dblarrowr (parenMid - dblarrowd) sw
save 'equal.arrowmid'
save 'equal.lr'
sketch
include : HBarTop cleft cright (parenMid + dblarrowd) sw
include : HBarBottom cleft cright (parenMid - dblarrowd) sw
save 'equal.cc'

View File

@ -14,6 +14,7 @@ font.replaceWithReference()
font.selection.all()
font.selection.select(("less", None), "I.straight", "dotlessi.straight", "l.straight", "ltailBR", "rtailBR")
font.selection.select(("less", "ranges", "unicode"), 0x207A, 0x207E, 0x208A, 0x208E)
font.selection.select(("less", "ranges"), "minus.fr", "minus.cc", "equal.fr", "equal.cc")
font.replaceWithReference()
# Remove overlapped area