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; } mkmk;
# Programming ligations # Programming ligations
lookup arrowHyphenSubRight { sub [hyphen equal] by [minus.arrowright equal.arrowright]; } arrowHyphenSubRight; lookup arrowStickFR { sub [hyphen equal] by [minus.fr equal.fr]; } arrowStickFR;
lookup arrowHyphenSubLeft { sub [hyphen equal] by [minus.arrowleft equal.arrowleft]; } arrowHyphenSubLeft; lookup arrowStickLF { sub [hyphen equal] by [minus.lf equal.lf]; } arrowStickLF;
lookup arrowHyphenSubMid { sub [hyphen equal] by [minus.arrowmid equal.arrowmid]; } arrowHyphenSubMid; 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 arrowExclamHTMLComment { sub exclam by exclam.htmlcommentstart; } arrowExclamHTMLComment;
lookup caltArrow1 { lookup caltArrow1 {
# Arrows, sub # Arrows, sub
sub less [hyphen equal]' lookup arrowHyphenSubMid [hyphen equal]' lookup arrowHyphenSubMid greater; # <-->, <==> sub less [hyphen equal]' lookup arrowStickLC [hyphen equal]' lookup arrowStickCR greater; # <-->, <==>
sub less [hyphen equal]' lookup arrowHyphenSubMid greater; # <->, <=> sub less [hyphen equal]' lookup arrowStickLR greater; # <->, <=>
sub less [hyphen equal]' lookup arrowHyphenSubLeft [hyphen equal]' lookup arrowHyphenSubLeft; # <--, <== sub less [hyphen equal]' lookup arrowStickLC [hyphen equal]' lookup arrowStickCF; # <--, <==
sub less hyphen' lookup arrowHyphenSubLeft; # <- sub less hyphen' lookup arrowStickLF; # <-
sub less exclam' lookup arrowExclamHTMLComment hyphen' lookup arrowHyphenSubLeft hyphen' lookup arrowHyphenSubLeft; # <!-- sub less exclam' lookup arrowExclamHTMLComment hyphen' lookup arrowStickLC hyphen' lookup arrowStickCF; # <!--
sub [hyphen equal]' lookup arrowHyphenSubRight [hyphen equal]' lookup arrowHyphenSubRight greater; # -->, ==> sub [hyphen equal]' lookup arrowStickFC [hyphen equal]' lookup arrowStickCR greater; # -->, ==>
sub [hyphen equal]' lookup arrowHyphenSubRight greater; # ->, => sub [hyphen equal]' lookup arrowStickFR greater; # ->, =>
} caltArrow1; } caltArrow1;
feature calt { feature calt {
script latn; script latn;

View file

@ -127,17 +127,35 @@ symbol-block 'Metric marks'
### Ligature-orienteds ### Ligature-orienteds
symbol-block 'Ligature-oriented Subglyphs' 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 arrowr [clamp WIDTH (WIDTH * 2) (WIDTH + RIGHTSB - OPERATORSTROKE * 2.5)]
local arrowl (WIDTH - arrowr) local arrowl (WIDTH - arrowr)
sketch sketch
include : HBar SB arrowr parenMid OPERATORSTROKE include : HBar SB arrowr parenMid OPERATORSTROKE
save 'minus.arrowright' save 'minus.fr'
sketch sketch
include : HBar arrowl RIGHTSB parenMid OPERATORSTROKE 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 sketch
include : HBar arrowl arrowr parenMid OPERATORSTROKE include : HBar arrowl arrowr parenMid OPERATORSTROKE
save 'minus.arrowmid' save 'minus.lr'
sketch
include : HBar cleft cright parenMid OPERATORSTROKE
save 'minus.cc'
sketch sketch
include glyphs.exclam include glyphs.exclam
include : Translate (((RIGHTSB - WIDTH) + (arrowl + WIDTH)) / 2 - MIDDLE) 0 include : Translate (((RIGHTSB - WIDTH) + (arrowl + WIDTH)) / 2 - MIDDLE) 0
@ -151,12 +169,32 @@ symbol-block 'Ligature-oriented Subglyphs'
sketch sketch
include : HBarTop SB dblarrowr (parenMid + dblarrowd) sw include : HBarTop SB dblarrowr (parenMid + dblarrowd) sw
include : HBarBottom SB dblarrowr (parenMid - dblarrowd) sw include : HBarBottom SB dblarrowr (parenMid - dblarrowd) sw
save 'equal.arrowright' save 'equal.fr'
sketch sketch
include : HBarTop dblarrowl RIGHTSB (parenMid + dblarrowd) sw include : HBarTop dblarrowl RIGHTSB (parenMid + dblarrowd) sw
include : HBarBottom 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 sketch
include : HBarTop dblarrowl dblarrowr (parenMid + dblarrowd) sw include : HBarTop dblarrowl dblarrowr (parenMid + dblarrowd) sw
include : HBarBottom 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.all()
font.selection.select(("less", None), "I.straight", "dotlessi.straight", "l.straight", "ltailBR", "rtailBR") 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", "unicode"), 0x207A, 0x207E, 0x208A, 0x208E)
font.selection.select(("less", "ranges"), "minus.fr", "minus.cc", "equal.fr", "equal.cc")
font.replaceWithReference() font.replaceWithReference()
# Remove overlapped area # Remove overlapped area