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

View file

@ -1,5 +1,16 @@
###### LOWER CASE ###### 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 ### o b d p q g
create-glyph 'o' : glyph-construction { create-glyph 'o' : glyph-construction {
set-width WIDTH set-width WIDTH
@ -157,7 +168,8 @@ create-glyph 'g' : glyph-construction {
line-to MIDDLE [XH - STROKE - O] line-to MIDDLE [XH - STROKE - O]
line-to MIDDLE XH line-to MIDDLE XH
} }
### c e
### c e t
create-glyph 'c' : glyph-construction { create-glyph 'c' : glyph-construction {
set-width WIDTH set-width WIDTH
assign-unicode 'c' 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 ### a u
create-glyph 'a.upright' : glyph-construction { create-glyph 'a.upright' : glyph-construction {
set-width WIDTH set-width WIDTH
@ -381,9 +414,9 @@ create-glyph 'm' : glyph-construction {
:.set-width 0 [sw * 0.4] :.set-width 0 [sw * 0.4]
:.to-outline :.to-outline
put-shapes : create-stroke put-shapes : create-stroke
:.start-from [RIGHTSB - sw] 0 :.start-from [RIGHTSB - sw - O] 0
:.set-width 0 sw :.heads-to UPWARD :.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] :.arc-vh-to m2 [XO - STROKE]
:.set-width 0 STROKE :.set-width 0 STROKE
:.heads-to LEFTWARD :.heads-to LEFTWARD
@ -392,10 +425,10 @@ create-glyph 'm' : glyph-construction {
:.set-width 0 [sw * 0.4] :.set-width 0 [sw * 0.4]
:.to-outline :.to-outline
put-shapes : create-stroke put-shapes : create-stroke
:.start-from SB 0 :.start-from [SB + O] 0
:.heads-to UPWARD :.heads-to UPWARD
:.set-width 0 sw :.set-width 0 sw
:.line-to SB XH :.line-to [SB + O] XH
:.heads-to UPWARD :.heads-to UPWARD
:.to-outline :.to-outline
} }
@ -700,7 +733,7 @@ create-glyph 's' : glyph-construction {
bowlbottom.start-from RIGHTSB ssmootha :.set-width 0 STROKE bowlbottom.start-from RIGHTSB ssmootha :.set-width 0 STROKE
:.arc-vh-to MIDDLE O :.arc-vh-to MIDDLE O
:.heads-to LEFTWARD :.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 : bowltop.to-outline
put-shapes : strokemiddle.to-outline put-shapes : strokemiddle.to-outline
@ -719,15 +752,29 @@ create-glyph 'r' : glyph-construction {
local ssmootha [SMOOTHA * 0.87] local ssmootha [SMOOTHA * 0.87]
put-shapes : create-stroke put-shapes : create-stroke
:.start-from [RIGHTSB - OXHOOK] [XH - SHOOK] :.start-from [RIGHTSB - OXHOOK + JBALANCE / 2] [XH - RHOOK]
:.set-width STROKE 0 :.set-width STROKE 0
:.curve-to [MIDDLE + KAPPA_AHOOK * [MIDDLE - para.sb]] XO MIDDLE XO :.curve-to [MIDDLE + BKAPPA * [MIDDLE - para.sb] + JBALANCE / 2] XO [MIDDLE + JBALANCE * 0.75] XO
:.heads-to LEFTWARD :.heads-to LEFTWARD
:.arc-hv-to SB [XH - ssmootha] :.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 :.to-outline
} }
### f t ### f
create-glyph 'f.upright' : glyph-construction { create-glyph 'f.upright' : glyph-construction {
set-width WIDTH set-width WIDTH
include bMarks include bMarks
@ -739,13 +786,7 @@ create-glyph 'f.upright' : glyph-construction {
:.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6] :.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6]
:.heads-to RIGHTWARD :.heads-to RIGHTWARD
:.to-outline :.to-outline
put-shapes : create-stroke include glyphs.fbar
:.start-from [MIDDLE - LONGSERIF] XH
:.heads-to RIGHTWARD
:.set-width 0 STROKE
:.line-to [MIDDLE + LONGSERIF] XH
:.heads-to RIGHTWARD
:.to-outline
} }
create-glyph 'f.italic' : glyph-construction { create-glyph 'f.italic' : glyph-construction {
set-width WIDTH set-width WIDTH
@ -759,13 +800,7 @@ create-glyph 'f.italic' : glyph-construction {
:.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6] :.arc-vh-to [MIDDLE + SHOOK * 2] [CAP - HALFSTROKE - O * 6]
:.heads-to RIGHTWARD :.heads-to RIGHTWARD
:.to-outline :.to-outline
put-shapes : create-stroke include glyphs.fbar
:.start-from [MIDDLE - LONGSERIF] XH
:.heads-to RIGHTWARD
:.set-width 0 STROKE
:.line-to [MIDDLE + LONGSERIF] XH
:.heads-to RIGHTWARD
:.to-outline
} }
create-glyph 'f' : glyph-construction { 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)) '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; 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; _r18_t5 = this;
if (_r18_t5['points'][0]['d1'] >= 0) if (_r18_t5['points'][0]['d1'] >= 0)