consolidate with ptl0.30.0 constants

This commit is contained in:
be5invis 2016-03-15 17:54:27 +08:00
parent d4f6c44f34
commit 791b2e4491
6 changed files with 30 additions and 20 deletions

View File

@ -395,7 +395,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
if (pickHash && [not pickHash.(name)]) : return nothing if (pickHash && [not pickHash.(name)]) : return nothing
if para.verbose : console.log name if para.verbose : console.log name
define glyphObject [new Glyph name] local glyphObject [new Glyph name]
glyphList.push glyphObject glyphList.push glyphObject
glyphs.(name) = glyphObject glyphs.(name) = glyphObject
glyphObject.set-width WIDTH glyphObject.set-width WIDTH

View File

@ -128,8 +128,8 @@ define customDecompositions : object
let : begin let : begin
suggestGC suggestGC
define [isAboveMark mark] : mark && mark.anchors && mark.anchors.above && mark.anchors.above.type === MARK define [isAboveMark mark] : mark && mark.anchors && mark.anchors.above && mark.anchors.above.type === MARK
define iotaBelowToLF : function [p] : if (p === glyphs.iotaBelow) glyphs.iotaLF p define [iotaBelowToLF p j parts] : if (p === glyphs.iotaBelow) : set parts.(j) glyphs.iotaLF
define ogonekBelowToTR : function [p] : if (p === glyphs.ogonekBelow) glyphs.ogonekTR p define [ogonekBelowToTR p j parts] : if (p === glyphs.ogonekBelow) : set parts.(j) glyphs.ogonekTR
define [subParts parts] : begin define [subParts parts] : begin
local hasMarkAbove false local hasMarkAbove false
foreach p [items-of parts] : if [isAboveMark p] : set hasMarkAbove true foreach p [items-of parts] : if [isAboveMark p] : set hasMarkAbove true
@ -139,8 +139,8 @@ let : begin
if (parts.0 === glyphs.j && hasMarkAbove) : parts.0 = glyphs.dotlessj if (parts.0 === glyphs.j && hasMarkAbove) : parts.0 = glyphs.dotlessj
# replace below marks with trailing marks # replace below marks with trailing marks
if parts.0.anchors.lf : set parts : parts.map iotaBelowToLF if parts.0.anchors.lf : parts.forEach iotaBelowToLF
if parts.0.anchors.trailing : set parts : parts.map ogonekBelowToTR if parts.0.anchors.trailing : parts.forEach ogonekBelowToTR
# composite greek overmarks # composite greek overmarks
for [local j 0] (j < parts.length) [inc j] : piecewise for [local j 0] (j < parts.length) [inc j] : piecewise
@ -162,7 +162,8 @@ let : begin
set parts.(j) null; set parts.(j + 1) glyphs.dasiaperispomeni set parts.(j) null; set parts.(j + 1) glyphs.dasiaperispomeni
return parts return parts
define [pad s n] : begin define [pad _s n] : begin
local s _s
while (s.length < n) : s = '0' + s while (s.length < n) : s = '0' + s
return s return s
local nComposed 0 local nComposed 0
@ -233,7 +234,8 @@ let : begin
suggestGC suggestGC
define [suggestName name] : begin define [suggestName _name] : begin
local name _name
if glyphs.(name) : begin if glyphs.(name) : begin
local j 2 local j 2
while glyphs.(name + j) : inc j while glyphs.(name + j) : inc j
@ -816,7 +818,8 @@ symbol-block 'CJK Double Width Characters'
if [not recursive] : begin if [not recursive] : begin
if [not para.cjk] : begin if [not para.cjk] : begin
set font.glyf : font.glyf.filter [lambda [g] : g.advanceWidth <= WIDTH] set font.glyf : font.glyf.filter [lambda [g] : g.advanceWidth <= WIDTH]
set glyphList font.glyf set glyphList.length font.glyf.length
for [local j 0] (j < font.glyf.length) [inc j] : set glyphList.(j) font.glyf.(j)
set font.features.cv {.} set font.features.cv {.}
foreach [name : items-of : Object.keys glyphs] : begin foreach [name : items-of : Object.keys glyphs] : begin

View File

@ -3,7 +3,7 @@
"version": "1.8.2", "version": "1.8.2",
"main": "./generate.js", "main": "./generate.js",
"dependencies": { "dependencies": {
"patel": ">=0.29.0", "patel": ">=0.30.0",
"node-sfnt": ">=0.0.20", "node-sfnt": ">=0.0.20",
"bezier-js": "*", "bezier-js": "*",
"yargs": "*", "yargs": "*",

View File

@ -6,11 +6,14 @@ import './transform' as : Transform && [object [transformPoint tp] [untransform
import './anchor' as Anchor import './anchor' as Anchor
define-macro xytransform : syntax-rules define-macro xytransform : syntax-rules
`[xytransform @tfm @x @y] : let [t : env.newt] `[begin \\ `[xytransform @tfm @x @y] : begin
set @t @x set [env.declarations.get [formOf x]].isParameter 0
set @x : @x * @tfm.xx + @y * @tfm.yx + @tfm.x set [env.declarations.get [formOf y]].isParameter 0
set @y : @t * @tfm.xy + @y * @tfm.yy + @tfm.y let [t : env.newt] `[begin \\
] set @t @x
set @x : @x * @tfm.xx + @y * @tfm.yx + @tfm.x
set @y : @t * @tfm.xy + @y * @tfm.yy + @tfm.y
]
define [mix a b p] : a + (b - a) * p define [mix a b p] : a + (b - a) * p
define [ratio l r m] : if [l === r] 0 ((m - l) / (r - l)) define [ratio l r m] : if [l === r] 0 ((m - l) / (r - l))

View File

@ -5,11 +5,14 @@ define [fallback] : for [local j 0] (j < arguments.length) [inc j] : if (argumen
define [linreg x0 y0 x1 y1 x] : y0 + (x - x0) * (y1 - y0) / (x1 - x0) define [linreg x0 y0 x1 y1 x] : y0 + (x - x0) * (y1 - y0) / (x1 - x0)
define-macro xytransform : syntax-rules define-macro xytransform : syntax-rules
`[xytransform @tfm @x @y] : let [t : env.newt] `[begin \\ `[xytransform @tfm @x @y] : begin
set @t @x set [env.declarations.get [formOf x]].isParameter 0
set @x : @x * @tfm.xx + @y * @tfm.yx + @tfm.x set [env.declarations.get [formOf y]].isParameter 0
set @y : @t * @tfm.xy + @y * @tfm.yy + @tfm.y let [t : env.newt] `[begin \\
] set @t @x
set @x : @x * @tfm.xx + @y * @tfm.yx + @tfm.x
set @y : @t * @tfm.xy + @y * @tfm.yy + @tfm.y
]
define [normalY angle] : Math.sin angle define [normalY angle] : Math.sin angle
define [normalX angle vex] : [Math.cos angle] * vex define [normalX angle vex] : [Math.cos angle] * vex

View File

@ -121,9 +121,10 @@ export : define [SetupBuilders args] : begin
(p <@ Array) : set a : a.concat [flatten p] (p <@ Array) : set a : a.concat [flatten p]
true : a.push p true : a.push p
return a return a
define [prepareSpiroKnots knots s] : begin define [prepareSpiroKnots _knots s] : begin
local closed false local closed false
local lastafs {} local lastafs {}
local knots _knots
while (knots.0 && knots.0 <@ Function) : begin while (knots.0 && knots.0 <@ Function) : begin
knots.0.call s knots.0.call s
set knots : knots.slice 1 set knots : knots.slice 1