improve overlay tildes for APL.

This commit is contained in:
be5invis 2016-12-31 17:01:15 +08:00
parent 5d69bc14bc
commit 46607ba4fd
3 changed files with 39 additions and 18 deletions

View File

@ -41,7 +41,7 @@ export : define [apply] : begin
set newid _newid set newid _newid
: else : else
set parts : {}.slice.call arguments 0 set parts : {}.slice.call arguments 0
set newid ('glyph' + [newtemp]) set newid ('composite-glyph' + [newtemp])
return : create-glyph newid : glyph-construction return : create-glyph newid : glyph-construction
local first true local first true

View File

@ -229,6 +229,18 @@ export : define [apply] : begin
hs -- (OPERATORSTROKE / 2) hs -- (OPERATORSTROKE / 2)
save 'asciitilde.high' save 'asciitilde.high'
sketch # asciitilde.high
local t [mix (XH + ACCENT) aboveMarkTop ((RIGHTSB - SB) / (markExtend * 3))]
local b [mix (XH + ACCENT) (aboveMarkBot + markFine / 2) ((RIGHTSB - SB) / (markExtend * 3))]
include : TildeShape
ttop -- t
tbot -- b
leftEnd -- [mix 0 SB (1/3)]
rightEnd -- [mix WIDTH RIGHTSB (1/3)]
hs -- ([adviceBlackness 4.5] / 2)
include : Realign MIDDLE [mix t b (1/2)] MIDDLE parenMid
save 'overlaytilde'
sketch sketch
set-width 0 set-width 0
set-anchor 'above' MARK markMiddle XH markMiddle aboveMarkTop set-anchor 'above' MARK markMiddle XH markMiddle aboveMarkTop

View File

@ -297,6 +297,7 @@ export : define [apply] : begin
save 'greatereqslant' 0x2A7E save 'greatereqslant' 0x2A7E
sketch # subst sketch # subst
include markset.plus
local top : mix parenMid parenTop 0.5 local top : mix parenMid parenTop 0.5
local bot : mix parenMid parenBot 0.5 local bot : mix parenMid parenBot 0.5
include : dispiro include : dispiro
@ -308,16 +309,15 @@ export : define [apply] : begin
arcvh arcvh
flat (SB + (top - bot) / 2) bot flat (SB + (top - bot) / 2) bot
curl RIGHTSB bot [heading RIGHTWARD] curl RIGHTSB bot [heading RIGHTWARD]
save 'subst' 0x2282 save 'subst' 0x2282
sketch # element sketch # element
include glyphs.subst include glyphs.subst AS_BASE
include : HBar (SB + HALFSTROKE) RIGHTSB parenMid OPERATORSTROKE include : HBar (SB + HALFSTROKE) RIGHTSB parenMid OPERATORSTROKE
save 'element' 0x2208 save 'element' 0x2208
turned nothing 0x2283 'subst' MIDDLE parenMid turned nothing 0x2283 'subst' MIDDLE parenMid
turned nothing 0x220B 'element' MIDDLE parenMid turned nothing 0x220B 'element' MIDDLE parenMid
composite glyphs.element glyphs.underlineBelow [into-unicode 0x22F8]
sketch # sym sketch # sym
include : WaveShape include : WaveShape
@ -413,15 +413,24 @@ export : define [apply] : begin
include : VBarLeft l operTop operBot aplBoxSW include : VBarLeft l operTop operBot aplBoxSW
include : VBarRight r operTop operBot aplBoxSW include : VBarRight r operTop operBot aplBoxSW
save 'aplsquare' 0x2395 save 'aplsquare' 0x2395
sketch # aplibar
local l [mix 0 SB (1 / 3)]
local r [mix WIDTH RIGHTSB (1 / 3)]
include : HBarTop l r operTop aplBoxSW
include : HBarBottom l r operBot aplBoxSW
include : VBar MIDDLE operTop operBot aplBoxSW
save 'aplibar' 0x2336
sketch # aplsquish
local l SB
local r RIGHTSB
include : HBarTop l r operTop aplBoxSW
include : HBarBottom l r operBot aplBoxSW
include : VBarLeft l operTop operBot aplBoxSW
include : VBarRight r operTop operBot aplBoxSW
save 'aplsquish' 0x2337
sketch # aplbar sketch # aplbar
include : VBar MIDDLE parenTop parenBot aplBoxSW include : VBar MIDDLE parenTop parenBot aplBoxSW
save 'aplbar' save 'aplbar'
sketch # aplslash
include : dispiro
widths.center aplBoxSW
flat SB operBot
curl RIGHTSB operTop
save 'aplslash'
sketch # aplbackslash sketch # aplbackslash
include : dispiro include : dispiro
widths.center aplBoxSW widths.center aplBoxSW
@ -438,8 +447,8 @@ export : define [apply] : begin
composite glyphs.hwwhitecircle aplBoxTfm glyphs.aplsquare [into-unicode 0x233C] composite glyphs.hwwhitecircle aplBoxTfm glyphs.aplsquare [into-unicode 0x233C]
composite glyphs.hwwhitecircle glyphs.aplbar [into-unicode 0x233D] composite glyphs.hwwhitecircle glyphs.aplbar [into-unicode 0x233D]
composite glyphs.hwwhitecircle glyphs.hwsmallwhitecircle [into-unicode 0x233E] composite glyphs.hwwhitecircle glyphs.hwsmallwhitecircle [into-unicode 0x233E]
composite glyphs.minus glyphs.aplslash [into-unicode 0x233F] composite glyphs.minus glyphs.slash [into-unicode 0x233F]
composite glyphs.minus glyphs.aplbackslash [into-unicode 0x2340] composite glyphs.minus glyphs.backslash [into-unicode 0x2340]
composite glyphs.slash aplBoxTfm glyphs.aplsquare [into-unicode 0x2341] composite glyphs.slash aplBoxTfm glyphs.aplsquare [into-unicode 0x2341]
composite glyphs.backslash aplBoxTfm glyphs.aplsquare [into-unicode 0x2342] composite glyphs.backslash aplBoxTfm glyphs.aplsquare [into-unicode 0x2342]
composite glyphs.less aplBoxTfm glyphs.aplsquare [into-unicode 0x2343] composite glyphs.less aplBoxTfm glyphs.aplsquare [into-unicode 0x2343]
@ -496,14 +505,14 @@ export : define [apply] : begin
composite glyphs.'asciitilde.low' glyphs.dieresisAbove [into-unicode 0x2368] composite glyphs.'asciitilde.low' glyphs.dieresisAbove [into-unicode 0x2368]
composite glyphs.'greater.narrow' glyphs.dieresisAbove [into-unicode 0x2369] composite glyphs.'greater.narrow' glyphs.dieresisAbove [into-unicode 0x2369]
composite glyphs.minus glyphs.comma [Upright] [Translate 0 (XH / 2)] [Italify] [into-unicode 0x236A] composite glyphs.minus glyphs.comma [Upright] [Translate 0 (XH / 2)] [Italify] [into-unicode 0x236A]
composite glyphs.nabla glyphs.'asciitilde.low' [into-unicode 0x236B] composite glyphs.nabla glyphs.overlaytilde [into-unicode 0x236B]
composite glyphs.'zero.unslashed' glyphs.'asciitilde.low' [into-unicode 0x236C] composite glyphs.'zero.unslashed' glyphs.overlaytilde [into-unicode 0x236C]
composite glyphs.bar glyphs.'asciitilde.low' [into-unicode 0x236D] composite glyphs.bar glyphs.overlaytilde [into-unicode 0x236D]
composite glyphs.semicolon [Realign MIDDLE (XH/2) MIDDLE parenMid] markset.plus glyphs.underlineBelow [into-unicode 0x236E] composite glyphs.semicolon [Realign MIDDLE (XH/2) MIDDLE parenMid] markset.plus glyphs.underlineBelow [into-unicode 0x236E]
composite glyphs.noteq aplBoxTfm glyphs.aplsquare [into-unicode 0x236F] composite glyphs.noteq aplBoxTfm glyphs.aplsquare [into-unicode 0x236F]
composite glyphs.question aplBoxTfm glyphs.aplsquare [into-unicode 0x2370] composite glyphs.question aplBoxTfm glyphs.aplsquare [into-unicode 0x2370]
composite glyphs.vee glyphs.'asciitilde.low' [into-unicode 0x2371] composite glyphs.vee glyphs.overlaytilde [into-unicode 0x2371]
composite glyphs.wedge glyphs.'asciitilde.low' [into-unicode 0x2372] composite glyphs.wedge glyphs.overlaytilde [into-unicode 0x2372]
alias 'apliota' 0x2373 'iota' alias 'apliota' 0x2373 'iota'
alias 'aplrho' 0x2374 'rho' alias 'aplrho' 0x2374 'rho'
alias 'aplomega' 0x2375 'omega' alias 'aplomega' 0x2375 'omega'