font-atlas.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /**
  2. * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * @author Alexander Rose <alexander.rose@weirdbyte.de>
  5. */
  6. import './index.html';
  7. import { FontAtlas } from '../../mol-geo/geometry/text/font-atlas';
  8. import { printTextureImage } from '../../mol-gl/renderable/util';
  9. function test() {
  10. console.time('FontAtlas init');
  11. const fontAtlas = new FontAtlas({ fontQuality: 3 });
  12. console.timeEnd('FontAtlas init');
  13. console.time('Basic Latin (subset)');
  14. for (let i = 0x0020; i <= 0x007E; ++i) fontAtlas.get(String.fromCharCode(i));
  15. console.timeEnd('Basic Latin (subset)');
  16. console.time('Latin-1 Supplement (subset)');
  17. for (let i = 0x00A1; i <= 0x00FF; ++i) fontAtlas.get(String.fromCharCode(i));
  18. console.timeEnd('Latin-1 Supplement (subset)');
  19. console.time('Greek and Coptic (subset)');
  20. for (let i = 0x0391; i <= 0x03C9; ++i) fontAtlas.get(String.fromCharCode(i));
  21. console.timeEnd('Greek and Coptic (subset)');
  22. console.time('Cyrillic (subset)');
  23. for (let i = 0x0400; i <= 0x044F; ++i) fontAtlas.get(String.fromCharCode(i));
  24. console.timeEnd('Cyrillic (subset)');
  25. console.time('Angstrom Sign');
  26. fontAtlas.get(String.fromCharCode(0x212B));
  27. console.timeEnd('Angstrom Sign');
  28. printTextureImage(fontAtlas.texture, 0.5);
  29. console.log(`${Object.keys(fontAtlas.mapped).length} chars prepared`);
  30. }
  31. test();