Added /smcpGhooktop, /dhooktoprtailBR.

This commit is contained in:
be5invis 2015-08-16 03:18:52 +08:00
parent db421daba8
commit 69537672a7
9 changed files with 56 additions and 35 deletions

View file

@ -166,7 +166,7 @@ define [buildFont para recursive] : begin {
} }
define [StdAnchorGroup] : begin { define [StdAnchorGroup] : begin {
local a : anchorDeriv.apply null arguments local a : anchorDeriv.apply null arguments
set a.anchors.overlay (.type BASE .x [mix a.anchors.above.x a.anchors.below.x 0.5] .y [mix a.anchors.above.y a.anchors.below.y 0.5]) set a.anchors.overlay (.type BASE .x [mix a.anchors.below.x a.anchors.above.x BARPOS] .y [mix a.anchors.below.y a.anchors.above.y BARPOS])
return a return a
} }

View file

@ -21,11 +21,15 @@ lookup ccmpManual2 {
sub revCommaAbove perispomeniAbove by dasiaperispomeni; sub revCommaAbove perispomeniAbove by dasiaperispomeni;
} ccmpManual2; } ccmpManual2;
lookup ccmpManual3 {
sub b dotAbove by bdot;
sub d dotAbove by ddot;
} ccmpManual3;
feature ccmp { feature ccmp {
script latn; script latn;
language dflt; language dflt;
lookup ccmpManual1; lookup ccmpManual1;
lookup ccmpManual2;
script grek; script grek;
language dflt; language dflt;
lookup ccmpManual1; lookup ccmpManual1;
@ -33,11 +37,9 @@ feature ccmp {
script cyrl; script cyrl;
language dflt; language dflt;
lookup ccmpManual1; lookup ccmpManual1;
lookup ccmpManual2;
script dflt; script dflt;
language dflt; language dflt;
lookup ccmpManual1; lookup ccmpManual1;
lookup ccmpManual2;
} ccmp; } ccmp;
feature mark { feature mark {

View file

@ -20,10 +20,24 @@ define customDecompositions (
."\u0122" "G\u0326" ."\u0122" "G\u0326"
."\u0123" "g\u0312" ."\u0123" "g\u0312"
# autobuild IPA glyphs # autobuild Latin glyphs
."\u0197" "I\u0335"
."\u019A" "l\u0335"
."\u0248" "J\u0335"
."\u0249" "j\u0335"
."\u0268" "i\u0335"
."\u01B5" "Z\u0335"
."\u01B6" "z\u0335"
."\u1D7B" "\u026A\u0335"
."\u1D7C" "\u0269\u0335"
."\u1D7F" "\u028A\u0336"
."\u0289" "u\u0336"
."\u0290" "z\u0322" ."\u0290" "z\u0322"
."\u0256" "d\u0322" ."\u0256" "d\u0322"
."\u0273" "n\u0322" ."\u0273" "n\u0322"
."\u1D91" "\u0257\u0322"
# Cyrillic composite characters # Cyrillic composite characters
."\u0498" "\u0417\u0327" ."\u0498" "\u0417\u0327"
@ -340,7 +354,7 @@ createSuperscripts : list {
list 0x1DA3 'turnh' list 0x1DA3 'turnh'
list 0x1DA5 'latiniota' list 0x1DA5 'latiniota'
list 0x1DA6 'smcpI' list 0x1DA6 'smcpI'
list 0x1DA7 'smcpIbar' list 0x1DA7 'smcpIbarOver'
list 0x1DA8 'jcurlytail' list 0x1DA8 'jcurlytail'
list 0x1DAB 'smcpL' list 0x1DAB 'smcpL'
list 0x1DA9 'lrtail' list 0x1DA9 'lrtail'
@ -351,7 +365,7 @@ createSuperscripts : list {
list 0x1DB2 'varphi' list 0x1DB2 'varphi'
list 0x1DB3 'srtail' list 0x1DB3 'srtail'
list 0x1DB4 'esh' list 0x1DB4 'esh'
list 0x1DB6 'ubar' list 0x1DB6 'ulongBarOver'
list 0x1DB7 'latinupsilon1' list 0x1DB7 'latinupsilon1'
list 0x1DB9 'latinupsilon2' list 0x1DB9 'latinupsilon2'
list 0x1DBA 'turnv' list 0x1DBA 'turnv'

View file

@ -510,6 +510,7 @@ create-glyph 'J.straight' : glyph-construction {
set-width WIDTH set-width WIDTH
dont-export dont-export
include capitalMarks include capitalMarks
set-anchor 'overlay' BASE [RIGHTSB - STROKE - JBALANCE] [CAP * BARPOS]
local slope [STROKE * 0.00092] local slope [STROKE * 0.00092]
local expand 0.35 local expand 0.35

View file

@ -377,6 +377,7 @@ create-glyph 'dotlessj.straight' : glyph-construction {
dont-export dont-export
include pMarks include pMarks
set-anchor 'above' BASE [MIDDLE + JBALANCE] XH set-anchor 'above' BASE [MIDDLE + JBALANCE] XH
set-anchor 'overlay' BASE [MIDDLE + JBALANCE] [XH / 2]
include : create-stroke include : create-stroke
:.start-from [MIDDLE + JBALANCE] XH :.start-from [MIDDLE + JBALANCE] XH
:.heads-to DOWNWARD :.heads-to DOWNWARD

View file

@ -362,10 +362,12 @@ create-glyph 'ezh' : glyph-construction {
} }
create-glyph 'revEzh' : glyph-construction { create-glyph 'revEzh' : glyph-construction {
assign-unicode 0x1B8 assign-unicode 0x1B8
include capitalMarks
include : RevEzhShape CAP 0 include : RevEzhShape CAP 0
} }
create-glyph 'revezh' : glyph-construction { create-glyph 'revezh' : glyph-construction {
assign-unicode 0x1B9 assign-unicode 0x1B9
include pMarks
include : RevEzhShape XH DESCENDER include : RevEzhShape XH DESCENDER
} }
create-glyph 'esh' : glyph-construction { create-glyph 'esh' : glyph-construction {

View file

@ -38,7 +38,7 @@ create-glyph 'lslash' : glyph-construction {
assign-unicode 0x142 assign-unicode 0x142
include glyphs.l AS_BASE include glyphs.l AS_BASE
local fine : 0.5 * [adviceBlackness 5] local fine : 0.5 * [adviceBlackness 5]
local middle : mix 0 CAP 0.55 local middle : mix 0 CAP BARPOS
local middlex [tp [Upright] glyphs.l.anchors.above].x local middlex [tp [Upright] glyphs.l.anchors.above].x
include : create-stroke include : create-stroke
:.start-from [middlex - LONGJUT * 0.8] [middle - LONGJUT * 0.4] :.start-from [middlex - LONGJUT * 0.8] [middle - LONGJUT * 0.4]
@ -86,32 +86,11 @@ create-glyph 'ldot' : glyph-construction {
Ring [[mix STROKE CAP 0.5] + DOTRADIUS] [[mix STROKE CAP 0.5] - DOTRADIUS] [[mix SB RIGHTSB 1] - DOTSIZE] [mix SB RIGHTSB 1] Ring [[mix STROKE CAP 0.5] + DOTRADIUS] [[mix STROKE CAP 0.5] - DOTRADIUS] [[mix SB RIGHTSB 1] - DOTSIZE] [mix SB RIGHTSB 1]
} }
} }
create-glyph 'ibar' : glyph-construction {
assign-unicode 0x268
include glyphs.'dotlessi.serifed' AS_BASE
include glyphs.dotAbove
include : HOverlayBar [mix MIDDLE SB 0.75] [mix MIDDLE RIGHTSB 0.75] [XH * 0.525]
}
create-glyph 'ubar' : glyph-construction {
assign-unicode 0x289
include glyphs.u AS_BASE
include : HOverlayBar [mix 0 SB 0.5] [mix WIDTH RIGHTSB 0.5] [XH * 0.525]
}
create-glyph 'obar' : glyph-construction { create-glyph 'obar' : glyph-construction {
assign-unicode 0x275 assign-unicode 0x275
include glyphs.o AS_BASE include glyphs.o AS_BASE
include : HOverlayBar [SB - O] [RIGHTSB + O] [XH * 0.5] include : HOverlayBar [SB - O] [RIGHTSB + O] [XH * 0.5]
} }
create-glyph 'latinupsilon1bar' : glyph-construction {
assign-unicode 0x1D7F
include glyphs.latinupsilon1 AS_BASE
include : HOverlayBar [mix 0 SB 0.5] [mix WIDTH RIGHTSB 0.5] [XH * 0.525]
}
create-glyph 'smcpIbar' : glyph-construction {
assign-unicode 0x1D7B
include glyphs.smcpI AS_BASE
include : HOverlayBar [MIDDLE - LONGJUT * 0.6] [MIDDLE + LONGJUT * 0.6] [XH * 0.525]
}
create-glyph 'glottalstopbar' : glyph-construction { create-glyph 'glottalstopbar' : glyph-construction {
assign-unicode 0x2A1 assign-unicode 0x2A1
include glyphs.glottalstop AS_BASE include glyphs.glottalstop AS_BASE
@ -176,12 +155,12 @@ create-glyph 'bhooktop' : glyph-construction {
include : oLeft include : oLeft
include : HooktopLeftBar include : HooktopLeftBar
} }
create-glyph 'dhooktop' : glyph-construction { create-glyph 'scriptghooktop' : glyph-construction {
assign-unicode 0x260 assign-unicode 0x260
include glyphs.scriptg AS_BASE include glyphs.scriptg AS_BASE
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK] include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK]
} }
create-glyph 'scriptghooktop' : glyph-construction { create-glyph 'dhooktop' : glyph-construction {
assign-unicode 0x257 assign-unicode 0x257
include bMarks include bMarks
include glyphs.'a.italic' include glyphs.'a.italic'
@ -190,12 +169,20 @@ create-glyph 'scriptghooktop' : glyph-construction {
create-glyph 'Chooktop' : glyph-construction { create-glyph 'Chooktop' : glyph-construction {
assign-unicode 0x187 assign-unicode 0x187
include glyphs.C AS_BASE include glyphs.C AS_BASE
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] [CAP - HOOK] HOOKX [-HOOK * 1.5] include : VBarRight RIGHTSB [CAP - HOOK] CAP
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] CAP HOOKX [-HOOK]
} }
create-glyph 'chooktop' : glyph-construction { create-glyph 'chooktop' : glyph-construction {
assign-unicode 0x188 assign-unicode 0x188
include glyphs.c AS_BASE include glyphs.c AS_BASE
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] [XH - HOOK] HOOKX [-HOOK * 1.5] include : VBarRight RIGHTSB [XH - HOOK] XH
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK]
}
create-glyph 'smcpGhooktop' : glyph-construction {
assign-unicode 0x29B
include glyphs.smcpG AS_BASE
include : VBarRight RIGHTSB [XH - HOOK] XH
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK]
} }
# Left-tail # Left-tail
create-glyph 'fltail' : glyph-construction { create-glyph 'fltail' : glyph-construction {
@ -463,12 +450,14 @@ define [ErTail] : glyph-construction {
} }
create-glyph 'er' : glyph-construction { create-glyph 'er' : glyph-construction {
assign-unicode 0x25A assign-unicode 0x25A
include eMarks
local f : Thinner ('schwa') 0.85 local f : Thinner ('schwa') 0.85
include f.schwa include f.schwa
include : ErTail include : ErTail
} }
create-glyph 'revlatinepsiloner' : glyph-construction { create-glyph 'revlatinepsiloner' : glyph-construction {
assign-unicode 0x25D assign-unicode 0x25D
include eMarks
local f : Thinner ('revlatinepsilon') 0.85 local f : Thinner ('revlatinepsilon') 0.85
include f.revlatinepsilon include f.revlatinepsilon
include : ErTail include : ErTail

View file

@ -692,6 +692,18 @@ create-glyph 'tildeOver' : glyph-construction {
apply-transform : Translate 0 [XH / 2 - [mix aboveMarkTop aboveMarkBot 0.5]] apply-transform : Translate 0 [XH / 2 - [mix aboveMarkTop aboveMarkBot 0.5]]
apply-transform : Italify apply-transform : Italify
} }
create-glyph 'barOver' : glyph-construction {
set-width 0
assign-unicode 0x335
set-anchor 'overlay' MARK markMiddle [XH / 2] markMiddle [XH / 2]
include : HOverlayBar [markMiddle - LONGJUT * 0.75] [markMiddle + LONGJUT * 0.75] [XH / 2]
}
create-glyph 'longBarOver' : glyph-construction {
set-width 0
assign-unicode 0x336
set-anchor 'overlay' MARK markMiddle [XH / 2] markMiddle [XH / 2]
include : HOverlayBar [[mix 0 SB 0.5] - WIDTH] [[mix WIDTH RIGHTSB 0.5] - WIDTH] [XH / 2]
}
# Double-character arcs # Double-character arcs
create-glyph 'tieAbove' : glyph-construction { create-glyph 'tieAbove' : glyph-construction {
set-width 0 set-width 0

View file

@ -199,7 +199,7 @@
]; ];
var sampleSentences = [ var sampleSentences = [
{lang: 'English', sample: 'Shaw, those twelve beige hooks are joined if I patch a young, gooey mouth.'}, {lang: 'English', sample: 'Shaw, those twelve beige hooks are joined if I patch a young, gooey mouth. Bl̓ood of m̧y ḃlȯod.'},
{lang: 'IPA', sample: '[aɪ kæn iːt glɑːs ænd ɪt dɐz nɒt hɜːt miː]'}, {lang: 'IPA', sample: '[aɪ kæn iːt glɑːs ænd ɪt dɐz nɒt hɜːt miː]'},
{lang: 'Powerline', sample: '<span style="background:black;color:white"> NORMAL </span><span style="background:#ccc;color:black;font-style:normal">\uE0B0</span><span style="background:#ccc;color:black"> <span style="font-style:normal">\uE0A0</span> master <span style="font-style:normal">\uE0B1</span> glyphs/powerline.patel </span><span style="background:#eee;color:#ccc;font-style:normal">\uE0B0</span><span style="background:#eee;color:#555"> dos <span style="font-style:normal">\uE0B3</span> utf-8 <span style="font-style:normal">\uE0B3</span> PatEL </span><span style="background:#eee;color:#ccc;font-style:normal">\uE0B2</span><span style="background:#ccc"> 2% </span><span style="background:#ccc;color:black;font-style:normal">\uE0B2</span><span style="color:white;background:black"> \uE0A1 1:1 </span>'}, {lang: 'Powerline', sample: '<span style="background:black;color:white"> NORMAL </span><span style="background:#ccc;color:black;font-style:normal">\uE0B0</span><span style="background:#ccc;color:black"> <span style="font-style:normal">\uE0A0</span> master <span style="font-style:normal">\uE0B1</span> glyphs/powerline.patel </span><span style="background:#eee;color:#ccc;font-style:normal">\uE0B0</span><span style="background:#eee;color:#555"> dos <span style="font-style:normal">\uE0B3</span> utf-8 <span style="font-style:normal">\uE0B3</span> PatEL </span><span style="background:#eee;color:#ccc;font-style:normal">\uE0B2</span><span style="background:#ccc"> 2% </span><span style="background:#ccc;color:black;font-style:normal">\uE0B2</span><span style="color:white;background:black"> \uE0A1 1:1 </span>'},
{lang: 'Bulgarian', sample: 'Я, пазачът Вальо уж бди, а скришом хапва кюфтенца зад щайгите.'}, {lang: 'Bulgarian', sample: 'Я, пазачът Вальо уж бди, а скришом хапва кюфтенца зад щайгите.'},