simplify glyph segment writing code
This commit is contained in:
parent
5f75130fbf
commit
e97f74f6e3
18
fonts.js
18
fonts.js
@ -368,23 +368,21 @@ var Font = (function () {
|
|||||||
var bias = 0;
|
var bias = 0;
|
||||||
for (var i = 0; i < segCount - 1; i++) {
|
for (var i = 0; i < segCount - 1; i++) {
|
||||||
var range = ranges[i];
|
var range = ranges[i];
|
||||||
var start = FontsUtils.integerToBytes(range[0], 2);
|
var start = range[0];
|
||||||
var end = FontsUtils.integerToBytes(range[1], 2);
|
var end = range[1];
|
||||||
|
var delta = (((start - 1) - bias) ^ 0xffff) + 1;
|
||||||
|
bias += (end - start + 1);
|
||||||
|
|
||||||
var delta = FontsUtils.integerToBytes(((range[0] - 1) - bias) % 65536, 2);
|
var start = FontsUtils.integerToBytes(start, 2);
|
||||||
bias += (range[1] - range[0] + 1);
|
var end = FontsUtils.integerToBytes(end, 2);
|
||||||
|
var delta = FontsUtils.integerToBytes(delta, 2);
|
||||||
// deltas are signed shorts
|
|
||||||
delta[0] ^= 0xFF;
|
|
||||||
delta[1] ^= 0xFF;
|
|
||||||
delta[1] += 1;
|
|
||||||
|
|
||||||
startCount.push(start[0], start[1]);
|
startCount.push(start[0], start[1]);
|
||||||
endCount.push(end[0], end[1]);
|
endCount.push(end[0], end[1]);
|
||||||
idDeltas.push(delta[0], delta[1]);
|
idDeltas.push(delta[0], delta[1]);
|
||||||
idRangeOffsets.push(0x00, 0x00);
|
idRangeOffsets.push(0x00, 0x00);
|
||||||
|
|
||||||
for (var j = range[0]; j <= range[1]; j++)
|
for (var j = start; j <= end; j++)
|
||||||
glyphsIdsArray.push(j);
|
glyphsIdsArray.push(j);
|
||||||
}
|
}
|
||||||
startCount.push(0xFF, 0xFF);
|
startCount.push(0xFF, 0xFF);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user