Added r and t

This commit is contained in:
Belleve Invis 2015-07-20 21:07:20 +08:00
parent e5c6dd95e2
commit 6464a40eff
4 changed files with 592 additions and 474 deletions

968
font.js

File diff suppressed because it is too large Load diff

View file

@ -18,6 +18,7 @@ define para_regular (
.hook 145
.ahook 135
.shook 100
.rhook 75
.smooth 192
.smallsmooth 242
.smoothadjust 100
@ -49,7 +50,7 @@ para_italic.italicangle = 10
define para_bolditalic : Object.create para_bold
para_bolditalic.italicangle = 10
para = para_italic
para = para_bolditalic
define variantSelector (
.zero 'slashed'
@ -82,6 +83,7 @@ define SB para.sb
define HOOK para.hook
define AHOOK para.ahook
define SHOOK para.shook
define RHOOK para.rhook
define SMOOTH para.smooth
define SMALLSMOOTH para.smallsmooth
define STROKE para.stroke
@ -118,6 +120,9 @@ define KAPPA_AHOOK : para.kappa_ahook || KAPPA_HOOK
define TAILADJX : WIDTH * 0.2
define TAILADJY : XH * 0.25
define TAILADJKAPPA 0.75
define TAILADJSX : WIDTH * 0.2
define TAILADJSY 0
define TAILADJSKAPPA 0.75
define ILBALANCE : LONGSERIF * 0.04
define JBALANCE : para.jbalance || HALFSTROKE + ILBALANCE

View file

@ -1,5 +1,16 @@
###### LOWER CASE
### components
create-glyph 'fbar' : glyph-construction {
put-shapes : create-stroke
:.start-from [MIDDLE - LONGSERIF] XH
:.heads-to RIGHTWARD
:.set-width 0 STROKE
:.line-to [MIDDLE + LONGSERIF] XH
:.heads-to RIGHTWARD
:.to-outline
}
### o b d p q g
create-glyph 'o' : glyph-construction {
set-width WIDTH
@ -157,7 +168,8 @@ create-glyph 'g' : glyph-construction {
line-to MIDDLE [XH - STROKE - O]
line-to MIDDLE XH
}
### c e
### c e t
create-glyph 'c' : glyph-construction {
set-width WIDTH
assign-unicode 'c'
@ -231,6 +243,27 @@ create-glyph 'e' : glyph-construction {
}
}
create-glyph 't' : glyph-construction {
set-width WIDTH
assign-unicode 't'
include bMarks
local center [MIDDLE - JBALANCE * 0.5 - HALFSTROKE]
local hookx [RIGHTSB - OXHOOK + TAILADJX * globalTransform.yx + JBALANCE * 0.5]
local turn [center + [hookx - center] * [0.5 + globalTransform.yx * 0.4]]
put-shapes : create-stroke
:.start-from center CAP
:.set-width STROKE 0
:.heads-to DOWNWARD
:.line-to center SMOOTHB
:.arc-vh-to turn O
:.curve-to [turn + [KAPPA_HOOK + TAILADJKAPPA * globalTransform.yx + 0.1] * [hookx - turn]] O hookx [HOOK - TAILADJY * globalTransform.yx]
:.to-outline
include glyphs.fbar
}
### a u
create-glyph 'a.upright' : glyph-construction {
set-width WIDTH
@ -381,9 +414,9 @@ create-glyph 'm' : glyph-construction {
:.set-width 0 [sw * 0.4]
:.to-outline
put-shapes : create-stroke
:.start-from [RIGHTSB - sw] 0
:.start-from [RIGHTSB - sw - O] 0
:.set-width 0 sw :.heads-to UPWARD
:.line-to [RIGHTSB - sw] [XH - SMALLSMOOTHA]
:.line-to [RIGHTSB - sw - O] [XH - SMALLSMOOTHA]
:.arc-vh-to m2 [XO - STROKE]
:.set-width 0 STROKE
:.heads-to LEFTWARD
@ -392,10 +425,10 @@ create-glyph 'm' : glyph-construction {
:.set-width 0 [sw * 0.4]
:.to-outline
put-shapes : create-stroke
:.start-from SB 0
:.start-from [SB + O] 0
:.heads-to UPWARD
:.set-width 0 sw
:.line-to SB XH
:.line-to [SB + O] XH
:.heads-to UPWARD
:.to-outline
}
@ -700,7 +733,7 @@ create-glyph 's' : glyph-construction {
bowlbottom.start-from RIGHTSB ssmootha :.set-width 0 STROKE
:.arc-vh-to MIDDLE O
:.heads-to LEFTWARD
:.curve-to [MIDDLE - KAPPA_AHOOK * [MIDDLE - para.sb]] O [SB + OXHOOK] SHOOK
:.curve-to [MIDDLE - [KAPPA_AHOOK + TAILADJSKAPPA * globalTransform.yx] * [MIDDLE - para.sb]] O [SB + OXHOOK - + TAILADJSX * globalTransform.yx] [SHOOK - TAILADJSY * globalTransform.yx]
put-shapes : bowltop.to-outline
put-shapes : strokemiddle.to-outline
@ -719,15 +752,29 @@ create-glyph 'r' : glyph-construction {
local ssmootha [SMOOTHA * 0.87]
put-shapes : create-stroke
:.start-from [RIGHTSB - OXHOOK] [XH - SHOOK]
:.set-width STROKE 0
:.curve-to [MIDDLE + KAPPA_AHOOK * [MIDDLE - para.sb]] XO MIDDLE XO
:.heads-to LEFTWARD
:.arc-hv-to SB [XH - ssmootha]
:.to-outline
:.start-from [RIGHTSB - OXHOOK + JBALANCE / 2] [XH - RHOOK]
:.set-width STROKE 0
:.curve-to [MIDDLE + BKAPPA * [MIDDLE - para.sb] + JBALANCE / 2] XO [MIDDLE + JBALANCE * 0.75] XO
:.heads-to LEFTWARD
:.to-outline
put-shapes : create-stroke
:.start-from [MIDDLE + JBALANCE * 0.75] [XO - STROKE]
:.set-width 0 STROKE
:.heads-to LEFTWARD
:.arc-hv-to [SB + STROKE * ITALICCOR + JBALANCE] [XH - SMALLSMOOTHA]
:.heads-to DOWNWARD
:.set-width 0 [STROKE * 0.4]
:.to-outline
put-shapes : create-stroke
:.start-from [SB + JBALANCE] 0
:.heads-to UPWARD
:.set-width 0 STROKE
:.line-to [SB + JBALANCE] XH
:.heads-to UPWARD
:.to-outline
}
### f t
### f
create-glyph 'f.upright' : glyph-construction {
set-width WIDTH
include bMarks
@ -739,13 +786,7 @@ create-glyph 'f.upright' : glyph-construction {
:.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6]
:.heads-to RIGHTWARD
:.to-outline
put-shapes : create-stroke
:.start-from [MIDDLE - LONGSERIF] XH
:.heads-to RIGHTWARD
:.set-width 0 STROKE
:.line-to [MIDDLE + LONGSERIF] XH
:.heads-to RIGHTWARD
:.to-outline
include glyphs.fbar
}
create-glyph 'f.italic' : glyph-construction {
set-width WIDTH
@ -759,13 +800,7 @@ create-glyph 'f.italic' : glyph-construction {
:.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6]
:.heads-to RIGHTWARD
:.to-outline
put-shapes : create-stroke
:.start-from [MIDDLE - LONGSERIF] XH
:.heads-to RIGHTWARD
:.set-width 0 STROKE
:.line-to [MIDDLE + LONGSERIF] XH
:.heads-to RIGHTWARD
:.to-outline
include glyphs.fbar
}
create-glyph 'f' : glyph-construction {

View file

@ -169,7 +169,7 @@
'y': r17_onpoint['y'] + r17_foffset(r17_t) * (r17_normal['y'] + r17_fpdy(r17_t))
};
};
r0_Stroke['prototype']['form-stroke'] = function _r0_t17(r18_d1, r18_d2) {
r0_Stroke['prototype']['to-outline'] = function _r0_t17(r18_d1, r18_d2) {
var r18_d1, r18_d2, r18_d1s, r18_d2s, r18_pdxs, r18_pdys, r18_shapes, r18_subSegments, r18_p0, r18_j, r18_p1, r18_p2, r18_seg, r18_normalpt, r18_p3, r18_f1, r18_f2, r18_fpdx, r18_fpdy, r18_left, r18_right, r18_curve, r18_sample, r18_t, r18_tn, r18_lthis, r18_rthis, r18_lnext, r18_rnext, r18_lnthis1, r18_rnthis1, r18_lnnext1, r18_rnnext1, r18_lnthis2, r18_rnthis2, r18_lnnext2, r18_rnnext2, r18_lnthis3, r18_rnthis3, r18_lnnext3, r18_rnnext3, r18_dlthis, r18_drthis, r18_dlnext, r18_drnext, r18_il, r18_ir, r18_last, r18_shape, r18_k, r18_still, _r18_t0, _r18_t1, _r18_t2, _r18_t3, _r18_t4, _r18_t5, _r18_t6, _r18_t7, _r18_t8, _r18_t9, _r18_t10, _r18_t11, _r18_t12, _r18_t13, _r18_t14, _r18_t15, _r18_t16, _r18_t17, _r18_t18, _r18_t19, _r18_t20, _r18_t21, _r18_t22, _r18_t23, _r18_t24, _r18_t25, _r18_t26, _r18_t27, _r18_t28, _r18_t29, _r18_t30, _r18_t31, _r18_t32, _r18_t33, _r18_t34, _r18_t35, _r18_t36, _r18_t37, _r18_t38, _r18_t39, _r18_t40, _r18_t41, _r18_t42, _r18_t43, _r18_t44, _r18_t45, _r18_t46, _r18_t47, _r18_t48, _r18_t49, _r18_t50, _r18_t51, _r18_t52, _r18_t53, _r18_t54, _r18_t55, _r18_t56, _r18_t57, _r18_t58, _r18_t59, _r18_t60, _r18_t61, _r18_t62;
_r18_t5 = this;
if (_r18_t5['points'][0]['d1'] >= 0)