Added /archAbove, /doubleGraveAbove and /doubleAcuteAbove. Also added some symbols.

This commit is contained in:
Belleve Invis 2015-07-26 02:36:53 +08:00
parent 5fe6f15529
commit daae14cdf0
11 changed files with 5060 additions and 4592 deletions

File diff suppressed because it is too large Load Diff

View File

@ -54,4 +54,10 @@ create-glyph 'latin1dieresis' : glyph-construction {
assign-unicode 0xA8
include glyphs.space AS_BASE
include glyphs.dieresisAbove
}
create-glyph 'latin1cedilla' : glyph-construction {
set-width WIDTH
assign-unicode 0xB8
include glyphs.space AS_BASE
include glyphs.cedillaBelow
}

View File

@ -167,15 +167,17 @@ define [nBowl left middle right fine] : begin {
return : bandLeft.concat bandRight
}
define [sHookUpper top smooth hook _middle] : glyph-construction {
local middle : _middle || MIDDLE
define [XSHookUpper top left middle right smooth hook] : glyph-construction {
include : create-stroke
:.set-transform globalTransform
:.start-from [RIGHTSB - OXHOOK] [top - hook]
:.start-from [right - OXHOOK] [top - hook]
:.set-width STROKE 0
:.curve-to [mix middle RIGHTSB KAPPA_HOOK] [top - O] middle [top - O]
:.heads-to LEFTWARD
:.arc-hv-to SB [top - smooth]
:.curve-to [mix middle right KAPPA_HOOK] [top - O] middle [top - O]
:.heads-to [if [left < right] LEFTWARD RIGHTWARD]
:.arc-hv-to left [top - smooth]
}
define [sHookUpper top smooth hook _middle] : glyph-construction {
include : XSHookUpper top SB [fallback _middle MIDDLE] RIGHTSB smooth hook
}
define [twoHookUpper top smooth hook _middle] : glyph-construction {
local middle : _middle || MIDDLE
@ -188,14 +190,7 @@ define [twoHookUpper top smooth hook _middle] : glyph-construction {
:.arc-hv-to RIGHTSB [top - smooth]
}
define [sHookLower bottom smooth hook _middle] : glyph-construction {
local middle : _middle || MIDDLE
include : create-stroke
:.set-transform globalTransform
:.start-from RIGHTSB [bottom + smooth]
:.set-width 0 STROKE
:.arc-vh-to middle [bottom + O]
:.heads-to LEFTWARD
:.curve-to [mix middle SB KAPPA_HOOK] [bottom + O] [SB + OXHOOK] [bottom + hook]
include : XSHookLower bottom SB [fallback _middle MIDDLE] RIGHTSB smooth hook
}
define [XSHookLower bottom left middle right smooth hook] : glyph-construction {
include : create-stroke
@ -203,7 +198,7 @@ define [XSHookLower bottom left middle right smooth hook] : glyph-construction {
:.start-from right [bottom + smooth]
:.set-width 0 STROKE
:.arc-vh-to middle [bottom + O]
:.heads-to LEFTWARD
:.heads-to [if [left < right] LEFTWARD RIGHTWARD]
:.curve-to [mix middle left KAPPA_HOOK] [bottom + O] [left + OXHOOK] [bottom + hook]
}

View File

@ -724,7 +724,7 @@ create-glyph 'fbar' : glyph-construction {
:.line-to [MIDDLE + LONGJUT] XH
:.heads-to RIGHTWARD
}
create-glyph 'esh.upright' : glyph-construction {
create-glyph 'longs.upright' : glyph-construction {
set-width WIDTH
dont-export
include bMarks
@ -744,7 +744,7 @@ define [eshHook attach] : glyph-construction {
:.arc-hv-to attach.x attach.y
:.line-to attach.x [attach.y + STROKE]
}
create-glyph 'esh.italic' : glyph-construction {
create-glyph 'longs.italic' : glyph-construction {
set-width WIDTH
dont-export
include ifMarks
@ -757,19 +757,19 @@ create-glyph 'esh.italic' : glyph-construction {
:.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6]
:.heads-to RIGHTWARD
}
create-glyph 'esh' : glyph-construction {
create-glyph 'longs' : glyph-construction {
set-width WIDTH
assign-unicode 0x17f
if [para.italicangle > 0] {
then : include glyphs.'esh.italic' AS_BASE
else : include glyphs.'esh.upright' AS_BASE
then : include glyphs.'longs.italic' AS_BASE
else : include glyphs.'longs.upright' AS_BASE
}
}
create-glyph 'f' : glyph-construction {
set-width WIDTH
assign-unicode 'f'
include glyphs.esh AS_BASE
include glyphs.longs AS_BASE
include glyphs.fbar
}

View File

@ -172,7 +172,7 @@ create-glyph 'Eth' : glyph-construction {
:.start-from [SB * 0.3] [CAP * 0.54]
:.set-width HALFSTROKE HALFSTROKE
:.heads-to RIGHTWARD
:.line-to [mix [SB + STROKE] [RIGHTSB - STROKE] 0.4] [CAP * 0.54]
:.line-to [mix [SB + STROKE] [RIGHTSB - STROKE] 0.55] [CAP * 0.54]
:.heads-to RIGHTWARD
}
create-glyph 'Dcroat' : glyph-construction {
@ -192,18 +192,21 @@ create-glyph 'eth' : glyph-construction {
:.set-width STROKE 0
:.curve-to [RIGHTSB - O] [mix ymiddlea CAP 0.8] [SB + STROKE * 1.1] CAP
local sw : 0.5 * [adviceBlackness 4]
include : create-stroke
:.start-from [mix SB RIGHTSB 0.1] [mix XH CAP 0]
:.set-width HALFSTROKE HALFSTROKE
:.line-to [mix SB RIGHTSB 0.95] [mix XH CAP 0.4]
:.start-from [mix SB RIGHTSB 0.1] [mix XH CAP [-0.1]]
:.set-width sw sw
:.line-to [mix SB RIGHTSB 0.95] [mix XH CAP 0.3]
}
create-glyph 'dcroat' : glyph-construction {
assign-unicode 0x111
include glyphs.d AS_BASE
local sw : 0.5 * [adviceBlackness 5]
include : create-stroke
:.start-from [mix [SB + STROKE] [RIGHTSB - STROKE] 0.6] [mix XH CAP 0.45]
:.set-width HALFSTROKE HALFSTROKE
:.start-from [mix [SB + STROKE] [RIGHTSB - STROKE] 0.5] [mix XH CAP 0.45]
:.set-width sw sw
:.heads-to RIGHTWARD
:.line-to [mix RIGHTSB WIDTH 0.7 ] [mix XH CAP 0.45]
:.heads-to RIGHTWARD
@ -212,7 +215,7 @@ create-glyph 'dcroat' : glyph-construction {
create-glyph 'Oslash' : glyph-construction {
assign-unicode 0xD8
local fine : Math.min [HALFSTROKE * 0.75] [[RIGHTSB - SB] * 0.1]
local fine : adviceBlackness 10
include glyphs.O AS_BASE
include : create-stroke
@ -223,7 +226,7 @@ create-glyph 'Oslash' : glyph-construction {
create-glyph 'oslash' : glyph-construction {
assign-unicode 0xF8
local fine : Math.min [HALFSTROKE * 0.75] [[RIGHTSB - SB] * 0.1]
local fine : adviceBlackness 10
include glyphs.o AS_BASE
include : create-stroke
@ -360,4 +363,8 @@ create-glyph 'ezh' : glyph-construction {
assign-unicode 0x292
include pMarks
include : ezhshape XH DESCENDER
}
create-glyph 'esh' : glyph-construction {
assign-unicode 0x283
include glyphs.'longs.italic' AS_BASE
}

View File

@ -163,6 +163,22 @@ create-glyph 'breveAbove' : glyph-construction {
:.arc-hv-to rightEnd aboveMarkTop
:.heads-to UPWARD
}
create-glyph 'archAbove' : glyph-construction {
set-width 0
assign-unicode 0x311
set-anchor 'above' MARK markMiddle XH markMiddle aboveMarkTop
local leftEnd [markMiddle - markExtend * 1.2]
local rightEnd [markMiddle + markExtend * 1.2]
include : create-stroke
:.start-from leftEnd aboveMarkBot
:.set-width markHalfStroke markHalfStroke
:.heads-to UPWARD
:.arc-vh-to markMiddle [aboveMarkTop - markHalfStroke]
:.arc-hv-to rightEnd aboveMarkBot
:.heads-to DOWNWARD
}
create-glyph 'hookabove' : glyph-construction {
set-width 0
assign-unicode 0x309
@ -182,7 +198,46 @@ create-glyph 'hookabove' : glyph-construction {
:.line-to [markMiddle - markExtend + fine] hookTop
:.heads-to LEFTWARD
}
create-glyph 'doubleGraveAbove' : glyph-construction {
set-width 0
assign-unicode 0x30F
set-anchor 'above' MARK markMiddle XH markMiddle aboveMarkTop
local m1 : markMiddle - markExtend * 0.75
local m2 : markMiddle + markExtend * 0.75
include : create-stroke
:.start-from [m1 + markStress] aboveMarkBot
:.set-width markFine markFine
:.line-to [m1 - markExtend] aboveMarkTop
:.set-width markStress markStress
:.set-samples 1
include : create-stroke
:.start-from [m2 + markStress] aboveMarkBot
:.set-width markFine markFine
:.line-to [m2 - markExtend] aboveMarkTop
:.set-width markStress markStress
:.set-samples 1
}
create-glyph 'doubleAcuteAbove' : glyph-construction {
set-width 0
assign-unicode 0x30B
set-anchor 'above' MARK markMiddle XH markMiddle aboveMarkTop
local m1 : markMiddle - markExtend * 0.75
local m2 : markMiddle + markExtend * 0.75
include : create-stroke
:.start-from [m1 - markStress] aboveMarkBot
:.set-width markFine markFine
:.line-to [m1 + markExtend] aboveMarkTop
:.set-width markStress markStress
:.set-samples 1
include : create-stroke
:.start-from [m2 - markStress] aboveMarkBot
:.set-width markFine markFine
:.line-to [m2 + markExtend] aboveMarkTop
:.set-width markStress markStress
:.set-samples 1
}
### Below marks
create-glyph 'dotBelow' : glyph-construction {

View File

@ -0,0 +1,54 @@
### Extended symbols
create-glyph 'cent' : glyph-construction {
assign-unicode 0xA2
include glyphs.c AS_BASE
include : create-stroke
:.start-from MIDDLE [XH - HALFSTROKE]
:.set-width HALFSTROKE HALFSTROKE
:.line-to MIDDLE [XH - DESCENDER / 2]
include : create-stroke
:.start-from MIDDLE [DESCENDER / 2]
:.set-width HALFSTROKE HALFSTROKE
:.line-to MIDDLE HALFSTROKE
}
create-glyph 'yen' : glyph-construction {
assign-unicode 0xA5
include glyphs.Y AS_BASE
include : hbar SB RIGHTSB [CAP * 0.45]
include : hbar SB RIGHTSB [CAP * 0.25]
}
create-glyph 'section' : glyph-construction {
assign-unicode 0xA7
local top parenTop
local bot parenBot
local sma [SMOOTHA * 0.85]
local extension1 0.5
local extension2 0.625
local extension3x 0.5
local extension3y : mix extension1 [1 - sma / [top - bot]] 0.5
include : XSHookUpper top SB MIDDLE RIGHTSB sma HOOK
include : sStrand [top - sma] [mix bot top extension1]
include : sStrand [mix top bot extension1] [bot + sma]
include : XSHookLower bot SB MIDDLE RIGHTSB sma HOOK
include : create-stroke
:.start-from [SB + HALFSTROKE] [[mix top bot extension1] - HALFSTROKE * [globalTransform.yx * 0.985]]
:.set-width HALFSTROKE HALFSTROKE
:.curve-to [SB + HALFSTROKE] [mix bot top extension2] [mix [SB + HALFSTROKE] [RIGHTSB - HALFSTROKE] extension3x] [mix bot top extension3y]
include : create-stroke
:.start-from [RIGHTSB - HALFSTROKE] [[mix bot top extension1] + HALFSTROKE * [globalTransform.yx * 0.985]]
:.set-width HALFSTROKE HALFSTROKE
:.curve-to [RIGHTSB - HALFSTROKE] [mix top bot extension2] [mix [RIGHTSB - HALFSTROKE] [SB + HALFSTROKE] extension3x] [mix top bot extension3y]
}
create-glyph 'plusminus' : glyph-construction {
assign-unicode 0xB1
include glyphs.underscore
include glyphs.plus
}

View File

@ -1,5 +1,5 @@
SUPPORT_FILES = support/glyph.js support/stroke.js parameters.js
GLYPH_SEGMENTS = glyphs/common-shapes.patel glyphs/overmarks.patel glyphs/latin-basic-capital.patel glyphs/latin-basic-lower.patel glyphs/latin-extend.patel glyphs/numbers.patel glyphs/ascii-symbols.patel glyphs/accented-letters.patel
GLYPH_SEGMENTS = glyphs/common-shapes.patel glyphs/overmarks.patel glyphs/latin-basic-capital.patel glyphs/latin-basic-lower.patel glyphs/latin-extend.patel glyphs/numbers.patel glyphs/symbol-ascii.patel glyphs/symbol-extend.patel glyphs/accented-letters.patel
OBJDIR = build
ifeq ($(OS),Windows_NT)

View File

@ -7,9 +7,9 @@
'dotsize': 125,
'periodsize': 150,
'sb': 60,
'cap': 765,
'descender': -190,
'xheight': 575,
'cap': 764,
'descender': -194,
'xheight': 570,
'barpos': 0.45,
'gbarpos': 0.35,
'fivebarpos': 0.49,

View File

@ -7,9 +7,9 @@ define regular (
.dotsize 125
.periodsize 150
.sb 60
.cap 765
.descender [-190]
.xheight 575
.cap 764
.descender [-194]
.xheight 570
.barpos 0.45
.gbarpos 0.35
.fivebarpos 0.49