Added several small caps and optimized shapes for /m. r0.1.13 (Leng-loh).

This commit is contained in:
be5invis 2015-10-02 21:44:29 +08:00
parent ea8430bfd9
commit 8a9415b373
6 changed files with 72 additions and 15 deletions

View File

@ -245,6 +245,18 @@ define [createSubscripts records] : if [not recursive] : begin
apply-transform [Translate MIDDLE (DESCENDER / 2)] true
apply-transform [Italify] true
define [createSMCPs records] : if [not recursive] : begin
local pendingGlyphs : records.map : [record] -> record.1
local params : Object.create para
set params.cap XH
set params.xheight (XH * XH / CAP)
local sf : Fork pendingGlyphs params
foreach {unicode glyphid tfm} [items-of records] : create-glyph [suggestName : 'smcp' + glyphid] : glyph-construction
if unicode : assign-unicode unicode
include sf.(glyphid) AS_BASE
if tfm : include tfm
define [createFractions records] : if [not recursive] : begin
local pendingGlyphs : [records.map : [record] -> record.1].concat : records.map : [record] -> record.2
@ -433,6 +445,7 @@ createSuperscripts : list
list 0x1D3A 'N'
list 0x1D3B 'cyrI'
list 0x1D3C 'O'
list 0x1D3D 'OU'
list 0x1D3E 'P'
list 0x1D3F 'R'
list null 'S' # there is no superscript S in unicode, but is is used for the SM symbol
@ -482,6 +495,37 @@ createSubscripts : list
list 0x1D6A 'chi'
list 0x2C7C 'j'
createSMCPs : list
list 0x1D00 'A'
list 0x1D01 'AE'
list 0x1D03 'Bbar'
list 0x1D04 'C'
list 0x1D05 'D'
list 0x1D06 'Dcroat'
list 0x1D07 'E'
list 0x1D08 'cyrZe'
list 0x1D0A 'J'
list 0x1D0B 'K'
list 0x1D0C 'Lslash'
list 0x1D0D 'M'
list 0x1D0E 'cyrI'
list 0x1D0F 'O'
list 0x1D18 'P'
list 0x1D19 'cyrYa'
list 0x1D1A 'R' [FlipAround MIDDLE (XH / 2)]
list 0x1D1B 'T'
list 0x1D1C 'U'
list 0x1D20 'V'
list 0x1D21 'W'
list 0x1D22 'Z'
list 0x1D23 'Ezh'
list 0x1D26 'Gamma'
list 0x1D27 'Lambda'
list 0x1D28 'Pi'
list 0x1D29 'Rho'
list 0x1D2A 'Psi'
list 0x1D2B 'cyrEl'
createFractions : list
list 0x00BC 'one' 'four'

View File

@ -179,20 +179,21 @@ define [nShoulder left middle right fine _top _bottom _sma _smb _wide] : let [a
define [mShoulderSpiro left right top bottom width fine] : glyph-construction
local fix : CORRECTION_VS * CORRECTION_HX * width / STROKE
local sm : SMALLSMOOTH * 0.85
include : spiro-outline
corner (right - width * CORRECTION_HX) bottom
curl (right - width * CORRECTION_HX) (top - SMALLSMOOTH + fix)
curl (right - width * CORRECTION_HX) (top - sm + fix)
arcvh 8 'no-tiny'
g2 [mix left (right - width * CORRECTION_HX) 0.5] (top - O - width)
archv 8 'no-tiny'
flat left (top - SMALLSMOOTH - fix)
corner left (top - SMALLSMOOTH - fix - 1)
corner (left - fine) (top - SMALLSMOOTH - 1)
curl (left - fine) (top - SMALLSMOOTH)
flat left (top - sm - fix)
corner left (top - sm - fix - 1)
corner (left - fine) (top - sm - 1)
curl (left - fine) (top - sm)
arcvh 8 'no-tiny'
g2 [mix (left - fine * CORRECTION_HX) right 0.5] (top - O)
archv 8 'no-tiny'
flat right (top - SMALLSMOOTH)
flat right (top - sm)
corner right bottom
close

View File

@ -322,10 +322,14 @@ create-glyph 'cyrTse' : glyph-construction
include capitalMarks
include : CyrTseShape CAP
create-glyph 'cyrtse' : glyph-construction
assign-unicode 0x446
create-glyph 'cyrtse.upright' : glyph-construction
include eMarks
include : CyrTseShape XH
create-glyph 'cyrtse.italic' : glyph-construction
include eMarks
include glyphs.u
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
italic-variant 'cyrtse' 0x446
define [CyrCheShape top _barp] : glyph-construction
local bar : top * [fallback _barp 0.4]
@ -359,10 +363,11 @@ create-glyph 'cyrSha' : glyph-construction
include capitalMarks
include : CyrShaShape CAP
create-glyph 'cyrsha' : glyph-construction
assign-unicode 0x448
create-glyph 'cyrsha.upright' : glyph-construction
include eMarks
include : CyrShaShape XH
turned 'cyrsha.italic' null 'm' MIDDLE (XH / 2)
italic-variant 'cyrsha' 0x448
define [CyrShchaShape top] : glyph-construction
include : CyrShaShape top
@ -373,10 +378,14 @@ create-glyph 'cyrShcha' : glyph-construction
include capitalMarks
include : CyrShchaShape CAP
create-glyph 'cyrshcha' : glyph-construction
assign-unicode 0x449
create-glyph 'cyrshcha.upright' : glyph-construction
include eMarks
include : CyrShchaShape XH
create-glyph 'cyrshcha.italic' : glyph-construction
include eMarks
include glyphs.'cyrsha.italic'
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
italic-variant 'cyrshcha' 0x449
define [CyrYerShape top] : glyph-construction
include : CyrYeriShape top [mix SB RIGHTSB 0.1] RIGHTSB

View File

@ -127,4 +127,8 @@ alias 'cyrschwa' 0x4D9 'schwa'
alias 'cyrEzh' 0x4E0 'Ezh'
alias 'cyrezh' 0x4E1 'ezh'
alias 'cyrizhitsa' 0x475 'vhooktop'
alias 'cyrUe' 0x4AE 'Y'
alias 'cyrUe' 0x4AE 'Y'
alias 'cyrQa' 0x51A 'Q'
alias 'cyrqa' 0x51B 'q'
alias 'cyrWe' 0x51C 'W'
alias 'cyrwe' 0x51D 'w'

View File

@ -300,7 +300,6 @@ create-glyph 'm' : glyph-construction
set-width WIDTH
assign-unicode 'm'
include eMarks
include : SmallMShape XH 0

View File

@ -184,7 +184,7 @@ create-glyph 'Eth' : glyph-construction
include glyphs.D AS_BASE
include : HOverlayBar (SB * 0.3) [mix (SB + STROKE) (RIGHTSB - STROKE) 0.55] (CAP * BARPOS)
alias 'DCroat' 0x110 'Eth'
alias 'Dcroat' 0x110 'Eth'
alias 'arficanD' 0x189 'Eth'
create-glyph 'eth' : glyph-construction