File size: 2,382 Bytes
bf237c2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
import { GenericCallback, ImageCallback } from "@jimp/core";
export interface FontChar {
id: number;
x: number;
y: number;
width: number;
height: number;
xoffset: number;
yoffset: number;
xadvance: number;
page: number;
chnl: number;
}
export interface FontInfo {
face: string;
size: number;
bold: number;
italic: number;
charset: string;
unicode: number;
stretchH: number;
smooth: number;
aa: number;
padding: [number, number, number, number];
spacing: [number, number];
}
export interface FontCommon {
lineHeight: number;
base: number;
scaleW: number;
scaleH: number;
pages: number;
packed: number;
alphaChnl: number;
redChnl: number;
greenChnl: number;
blueChnl: number;
}
export interface Font {
chars: {
[char: string]: FontChar;
};
kernings: {
[firstString: string]: {
[secondString: string]: number;
};
};
pages: string[];
common: FontCommon;
info: FontInfo;
}
type PrintableText =
| any
| {
text: string;
alignmentX: number;
alignmentY: number;
};
interface PrintClass {
// Text methods
print(
font: Font,
x: number,
y: number,
text: PrintableText,
cb?: ImageCallback<this>
): this;
print(
font: Font,
x: number,
y: number,
text: PrintableText,
maxWidth?: number,
cb?: ImageCallback<this>
): this;
print(
font: Font,
x: number,
y: number,
text: PrintableText,
maxWidth?: number,
maxHeight?: number,
cb?: ImageCallback<this>
): this;
}
interface Print {
constants: {
measureText(font: Font, text: PrintableText): number;
measureTextHeight(
font: Font,
text: PrintableText,
maxWidth: number
): number;
// Font locations
FONT_SANS_8_BLACK: string;
FONT_SANS_10_BLACK: string;
FONT_SANS_12_BLACK: string;
FONT_SANS_14_BLACK: string;
FONT_SANS_16_BLACK: string;
FONT_SANS_32_BLACK: string;
FONT_SANS_64_BLACK: string;
FONT_SANS_128_BLACK: string;
FONT_SANS_8_WHITE: string;
FONT_SANS_16_WHITE: string;
FONT_SANS_32_WHITE: string;
FONT_SANS_64_WHITE: string;
FONT_SANS_128_WHITE: string;
loadFont(file: string, cb: GenericCallback<Font, any, any>): Promise<never>;
loadFont(file: string): Promise<Font>;
}
class: PrintClass;
}
export default function (): Print;
|