FontLoader.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { Font } from '../extras/core/Font';
  2. import { FileLoader } from './FileLoader';
  3. import { DefaultLoadingManager } from './LoadingManager';
  4. /**
  5. * @author mrdoob / http://mrdoob.com/
  6. */
  7. function FontLoader( manager ) {
  8. this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
  9. }
  10. Object.assign( FontLoader.prototype, {
  11. load: function ( url, onLoad, onProgress, onError ) {
  12. var scope = this;
  13. var loader = new FileLoader( this.manager );
  14. loader.setPath( this.path );
  15. loader.load( url, function ( text ) {
  16. var json;
  17. try {
  18. json = JSON.parse( text );
  19. } catch ( e ) {
  20. console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' );
  21. json = JSON.parse( text.substring( 65, text.length - 2 ) );
  22. }
  23. var font = scope.parse( json );
  24. if ( onLoad ) onLoad( font );
  25. }, onProgress, onError );
  26. },
  27. parse: function ( json ) {
  28. return new Font( json );
  29. },
  30. setPath: function ( value ) {
  31. this.path = value;
  32. return this;
  33. }
  34. } );
  35. export { FontLoader };