FontData.d.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { CharMap, CharOptions, CharData, VariantData, DelimiterData, FontData } from '../common/FontData.js';
  2. import { Usage } from './Usage.js';
  3. import { StringMap } from './Wrapper.js';
  4. import { StyleList } from '../../util/StyleList.js';
  5. export * from '../common/FontData.js';
  6. export interface CHTMLCharOptions extends CharOptions {
  7. c?: string;
  8. f?: string;
  9. }
  10. export declare type CHTMLCharMap = CharMap<CHTMLCharOptions>;
  11. export declare type CHTMLCharData = CharData<CHTMLCharOptions>;
  12. export interface CHTMLVariantData extends VariantData<CHTMLCharOptions> {
  13. classes?: string;
  14. letter: string;
  15. }
  16. export interface CHTMLDelimiterData extends DelimiterData {
  17. }
  18. export declare class CHTMLFontData extends FontData<CHTMLCharOptions, CHTMLVariantData, CHTMLDelimiterData> {
  19. static OPTIONS: {
  20. fontURL: string;
  21. };
  22. static JAX: string;
  23. protected static defaultVariantClasses: StringMap;
  24. protected static defaultVariantLetters: StringMap;
  25. protected static defaultStyles: {
  26. 'mjx-c::before': {
  27. display: string;
  28. width: number;
  29. };
  30. };
  31. protected static defaultFonts: {
  32. '@font-face /* 0 */': {
  33. 'font-family': string;
  34. src: string;
  35. };
  36. };
  37. charUsage: Usage<[string, number]>;
  38. delimUsage: Usage<number>;
  39. static charOptions(font: CHTMLCharMap, n: number): CHTMLCharOptions;
  40. adaptiveCSS(adapt: boolean): void;
  41. clearCache(): void;
  42. createVariant(name: string, inherit?: string, link?: string): void;
  43. defineChars(name: string, chars: CHTMLCharMap): void;
  44. get styles(): StyleList;
  45. updateStyles(styles: StyleList): StyleList;
  46. protected allStyles(styles: StyleList): void;
  47. protected addFontURLs(styles: StyleList, fonts: StyleList, url: string): void;
  48. protected addDelimiterStyles(styles: StyleList, n: number, data: CHTMLDelimiterData): void;
  49. protected addDelimiterVStyles(styles: StyleList, c: string, data: CHTMLDelimiterData): void;
  50. protected addDelimiterVPart(styles: StyleList, c: string, part: string, n: number, HDW: CHTMLCharData): number;
  51. protected addDelimiterHStyles(styles: StyleList, c: string, data: CHTMLDelimiterData): void;
  52. protected addDelimiterHPart(styles: StyleList, c: string, part: string, n: number, HDW: CHTMLCharData): void;
  53. protected addCharStyles(styles: StyleList, vletter: string, n: number, data: CHTMLCharData): void;
  54. protected getDelimiterData(n: number): CHTMLCharData;
  55. em(n: number): string;
  56. em0(n: number): string;
  57. padding([h, d, w]: CHTMLCharData, dw?: number, ic?: number): string;
  58. charContent(n: number): string;
  59. charSelector(n: number): string;
  60. }
  61. export declare type CHTMLFontDataClass = typeof CHTMLFontData;
  62. export declare type CharOptionsMap = {
  63. [name: number]: CHTMLCharOptions;
  64. };
  65. export declare type CssMap = {
  66. [name: number]: number;
  67. };
  68. export declare function AddCSS(font: CHTMLCharMap, options: CharOptionsMap): CHTMLCharMap;