FontLoader.js 962 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Font } from '../extras/core/Font';
  2. import { XHRLoader } from './XHRLoader';
  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 XHRLoader( this.manager );
  14. loader.load( url, function ( text ) {
  15. var json;
  16. try {
  17. json = JSON.parse( text );
  18. } catch ( e ) {
  19. console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' );
  20. json = JSON.parse( text.substring( 65, text.length - 2 ) );
  21. }
  22. var font = scope.parse( json );
  23. if ( onLoad ) onLoad( font );
  24. }, onProgress, onError );
  25. },
  26. parse: function ( json ) {
  27. return new Font( json );
  28. }
  29. } );
  30. export { FontLoader };
粤ICP备19079148号