]> git.parisson.com Git - pdf.js.git/commitdiff
using font flags to recognize the symbol and serif fonts; using the encoding instead...
authornotmasteryet <async.processingjs@yahoo.com>
Tue, 10 Jan 2012 01:36:24 +0000 (19:36 -0600)
committernotmasteryet <async.processingjs@yahoo.com>
Tue, 10 Jan 2012 01:36:24 +0000 (19:36 -0600)
src/canvas.js
src/fonts.js

index 3fd55b45d04fa1c1279e8e2972d33294b8cdb81c..0ad02dc245888e275c40fcb2ed6d3fc277d6e4c7 100644 (file)
@@ -557,7 +557,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
                                  (fontObj.bold ? 'bold' : 'normal');
 
       var italic = fontObj.italic ? 'italic' : 'normal';
-      var serif = fontObj.serif ? 'serif' : 'sans-serif';
+      var serif = fontObj.isSerifFont ? 'serif' : 'sans-serif';
       var typeface = '"' + name + '", ' + serif;
       var rule = italic + ' ' + bold + ' ' + size + 'px ' + typeface;
       this.ctx.font = rule;
index 1b959d6c25bea54dcefdae9f201f8a2c9bfa4e8a..389f0810d339f29d8139217ba2d2069965ae7d52 100644 (file)
@@ -339,53 +339,6 @@ var stdFontMap = {
   'TimesNewRomanPSMT-Italic': 'Times-Italic'
 };
 
-var serifFonts = {
-  'Adobe Jenson': true, 'Adobe Text': true, 'Albertus': true,
-  'Aldus': true, 'Alexandria': true, 'Algerian': true,
-  'American Typewriter': true, 'Antiqua': true, 'Apex': true,
-  'Arno': true, 'Aster': true, 'Aurora': true,
-  'Baskerville': true, 'Bell': true, 'Bembo': true,
-  'Bembo Schoolbook': true, 'Benguiat': true, 'Berkeley Old Style': true,
-  'Bernhard Modern': true, 'Berthold City': true, 'Bodoni': true,
-  'Bauer Bodoni': true, 'Book Antiqua': true, 'Bookman': true,
-  'Bordeaux Roman': true, 'Californian FB': true, 'Calisto': true,
-  'Calvert': true, 'Capitals': true, 'Cambria': true,
-  'Cartier': true, 'Caslon': true, 'Catull': true,
-  'Centaur': true, 'Century Old Style': true, 'Century Schoolbook': true,
-  'Chaparral': true, 'Charis SIL': true, 'Cheltenham': true,
-  'Cholla Slab': true, 'Clarendon': true, 'Clearface': true,
-  'Cochin': true, 'Colonna': true, 'Computer Modern': true,
-  'Concrete Roman': true, 'Constantia': true, 'Cooper Black': true,
-  'Corona': true, 'Ecotype': true, 'Egyptienne': true,
-  'Elephant': true, 'Excelsior': true, 'Fairfield': true,
-  'FF Scala': true, 'Folkard': true, 'Footlight': true,
-  'FreeSerif': true, 'Friz Quadrata': true, 'Garamond': true,
-  'Gentium': true, 'Georgia': true, 'Gloucester': true,
-  'Goudy Old Style': true, 'Goudy Schoolbook': true, 'Goudy Pro Font': true,
-  'Granjon': true, 'Guardian Egyptian': true, 'Heather': true,
-  'Hercules': true, 'High Tower Text': true, 'Hiroshige': true,
-  'Hoefler Text': true, 'Humana Serif': true, 'Imprint': true,
-  'Ionic No. 5': true, 'Janson': true, 'Joanna': true,
-  'Korinna': true, 'Lexicon': true, 'Liberation Serif': true,
-  'Linux Libertine': true, 'Literaturnaya': true, 'Lucida': true,
-  'Lucida Bright': true, 'Melior': true, 'Memphis': true,
-  'Miller': true, 'Minion': true, 'Modern': true,
-  'Mona Lisa': true, 'Mrs Eaves': true, 'MS Serif': true,
-  'Museo Slab': true, 'New York': true, 'Nimbus Roman': true,
-  'NPS Rawlinson Roadway': true, 'Palatino': true, 'Perpetua': true,
-  'Plantin': true, 'Plantin Schoolbook': true, 'Playbill': true,
-  'Poor Richard': true, 'Rawlinson Roadway': true, 'Renault': true,
-  'Requiem': true, 'Rockwell': true, 'Roman': true,
-  'Rotis Serif': true, 'Sabon': true, 'Scala': true,
-  'Seagull': true, 'Sistina': true, 'Souvenir': true,
-  'STIX': true, 'Stone Informal': true, 'Stone Serif': true,
-  'Sylfaen': true, 'Times': true, 'Trajan': true,
-  'Trinité': true, 'Trump Mediaeval': true, 'Utopia': true,
-  'Vale Type': true, 'Bitstream Vera': true, 'Vera Serif': true,
-  'Versailles': true, 'Wanted': true, 'Weiss': true,
-  'Wide Latin': true, 'Windsor': true, 'XITS': true
-};
-
 var FontLoader = {
   listeningForFontLoad: false,
 
@@ -742,7 +695,8 @@ var Font = (function FontClosure() {
     var names = name.split('+');
     names = names.length > 1 ? names[1] : names[0];
     names = names.split(/[-,_]/g)[0];
-    this.serif = serifFonts[names] || (name.search(/serif/gi) != -1);
+    this.isSerifFont = !!(properties.flags & 2);
+    this.isSymbolicFont = !!(properties.flags & 4);
 
     var type = properties.type;
     this.type = type;
@@ -750,7 +704,7 @@ var Font = (function FontClosure() {
     // If the font is to be ignored, register it like an already loaded font
     // to avoid the cost of waiting for it be be loaded by the platform.
     if (properties.ignore) {
-      this.loadedName = this.serif ? 'serif' : 'sans-serif';
+      this.loadedName = this.isSerifFont ? 'serif' : 'sans-serif';
       this.loading = false;
       return;
     }
@@ -2184,12 +2138,12 @@ var Font = (function FontClosure() {
             unicode = GlyphsUnicode[glyphName] || charcode;
             break;
           }
-          if (!this.hasEncoding) {
+          if (!this.hasEncoding || this.isSymbolicFont) {
             unicode = this.useToUnicode ? this.toUnicode[charcode] : charcode;
             break;
           }
-          if (this.hasShortCmap && false) {
-            var j = Encodings.MacRomanEncoding.indexOf(glyphName);
+          if (this.hasShortCmap) {
+            var j = this.encoding.indexOf(glyphName);
             unicode = j >= 0 ? j :
               this.glyphNameMap[glyphName];
           } else {