pdfnative 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -16
- package/dist/index.cjs +550 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +289 -2
- package/dist/index.d.ts +289 -2
- package/dist/index.js +546 -15
- package/dist/index.js.map +1 -1
- package/dist/tools/index.cjs +657 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.cts +110 -0
- package/dist/tools/index.d.ts +110 -0
- package/dist/tools/index.js +654 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/worker/index.cjs +18 -0
- package/dist/worker/index.cjs.map +1 -1
- package/dist/worker/index.js +18 -0
- package/dist/worker/index.js.map +1 -1
- package/fonts/noto-sans-math-data.d.ts +13 -0
- package/fonts/noto-sans-math-data.js +64 -0
- package/package.json +29 -3
package/dist/worker/index.js
CHANGED
|
@@ -225,6 +225,16 @@ var MYANMAR_EXTENDED_A_END = 43647;
|
|
|
225
225
|
var MYANMAR_EXTENDED_B_START = 43488;
|
|
226
226
|
var MYANMAR_EXTENDED_B_END = 43519;
|
|
227
227
|
var MYANMAR_VIRAMA = 4153;
|
|
228
|
+
var MATH_OPERATORS_START = 8704;
|
|
229
|
+
var MATH_OPERATORS_END = 8959;
|
|
230
|
+
var SUPPLEMENTAL_MATH_OPERATORS_START = 10752;
|
|
231
|
+
var SUPPLEMENTAL_MATH_OPERATORS_END = 11007;
|
|
232
|
+
var GEOMETRIC_SHAPES_START = 9632;
|
|
233
|
+
var GEOMETRIC_SHAPES_END = 9727;
|
|
234
|
+
var MISC_MATH_SYMBOLS_A_START = 10176;
|
|
235
|
+
var MISC_MATH_SYMBOLS_A_END = 10223;
|
|
236
|
+
var MISC_MATH_SYMBOLS_B_START = 10624;
|
|
237
|
+
var MISC_MATH_SYMBOLS_B_END = 10751;
|
|
228
238
|
var EMOJI_RANGES = [
|
|
229
239
|
[127744, 128511],
|
|
230
240
|
// Miscellaneous Symbols and Pictographs
|
|
@@ -291,6 +301,9 @@ function isMyanmarCodepoint(cp) {
|
|
|
291
301
|
function isDevanagariCodepoint(cp) {
|
|
292
302
|
return cp >= DEVANAGARI_START && cp <= DEVANAGARI_END || cp >= DEVANAGARI_EXT_START && cp <= DEVANAGARI_EXT_END;
|
|
293
303
|
}
|
|
304
|
+
function isMathCodepoint(cp) {
|
|
305
|
+
return cp >= MATH_OPERATORS_START && cp <= MATH_OPERATORS_END || cp >= SUPPLEMENTAL_MATH_OPERATORS_START && cp <= SUPPLEMENTAL_MATH_OPERATORS_END || cp >= GEOMETRIC_SHAPES_START && cp <= GEOMETRIC_SHAPES_END || cp >= MISC_MATH_SYMBOLS_A_START && cp <= MISC_MATH_SYMBOLS_A_END || cp >= MISC_MATH_SYMBOLS_B_START && cp <= MISC_MATH_SYMBOLS_B_END;
|
|
306
|
+
}
|
|
294
307
|
function isEmojiCodepoint(cp) {
|
|
295
308
|
if (cp >= FITZPATRICK_START && cp <= FITZPATRICK_END) return true;
|
|
296
309
|
for (const [lo, hi] of EMOJI_RANGES) {
|
|
@@ -386,6 +399,7 @@ function detectCharLang(cp) {
|
|
|
386
399
|
if (cp >= 1024 && cp <= 1279 || cp >= 1280 && cp <= 1327) return "ru";
|
|
387
400
|
if (cp >= 4256 && cp <= 4351 || cp >= 11520 && cp <= 11567) return "ka";
|
|
388
401
|
if (cp >= 1328 && cp <= 1423 || cp >= 64275 && cp <= 64279) return "hy";
|
|
402
|
+
if (isMathCodepoint(cp)) return "math";
|
|
389
403
|
if (isEmojiCodepoint(cp)) return "emoji";
|
|
390
404
|
return null;
|
|
391
405
|
}
|
|
@@ -3846,6 +3860,10 @@ function buildTextRunsWithFallback(text, fontRef, fd, sz, trackGid, pdfA = false
|
|
|
3846
3860
|
for (let i = 0; i < text.length; ) {
|
|
3847
3861
|
const rawCp = text.codePointAt(i) ?? 0;
|
|
3848
3862
|
const charLen = rawCp > 65535 ? 2 : 1;
|
|
3863
|
+
if (rawCp < 32 || rawCp === 127) {
|
|
3864
|
+
i += charLen;
|
|
3865
|
+
continue;
|
|
3866
|
+
}
|
|
3849
3867
|
const cp = rawCp === 8239 || rawCp === 160 ? 32 : rawCp;
|
|
3850
3868
|
const char = text.substring(i, i + charLen);
|
|
3851
3869
|
const gid = fd.cmap[cp] ?? 0;
|