]> git.pld-linux.org Git - packages/fontconfig.git/commitdiff
- blacklist some fonts, update default config, process only required dirs
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 22 Oct 2002 20:59:37 +0000 (20:59 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    fontconfig-blacklist.patch -> 1.1
    fontconfig-defaultconfig.patch -> 1.1
    fontconfig-fontdir.patch -> 1.1
    fontconfig-subdir.patch -> 1.1

fontconfig-blacklist.patch [new file with mode: 0644]
fontconfig-defaultconfig.patch [new file with mode: 0644]
fontconfig-fontdir.patch [new file with mode: 0644]
fontconfig-subdir.patch [new file with mode: 0644]

diff --git a/fontconfig-blacklist.patch b/fontconfig-blacklist.patch
new file mode 100644 (file)
index 0000000..43eb110
--- /dev/null
@@ -0,0 +1,53 @@
+--- fontconfig/src/fcdir.c.blacklist   Mon Aug 26 15:57:40 2002
++++ fontconfig/src/fcdir.c     Fri Aug 30 14:59:05 2002
+@@ -150,6 +150,40 @@
+     return ret;
+ }
++static FcBool
++FcBlackListed (const char *name)
++{
++    static const char * const black_listed_names[] = {
++      "hrger.pfa",
++      "hrgrr.pfa",
++      "hritr.pfa",
++      "hrpld.pfa",
++      "hrpldi.pfa",
++      "hrplt.pfa",
++      "hrplti.pfa",
++      "hrscc.pfa",
++      "hrscs.pfa",
++      "u003043t.gsf",
++      "u004006t.gsf"
++    };
++
++    int low = 0;
++    int high = sizeof(black_listed_names) / sizeof(black_listed_names[0]) - 1;
++
++    while (low <= high) {
++      int mid = (low + high) / 2;
++      int res = strcmp (name, black_listed_names[mid]);
++      if (res == 0)
++          return FcTrue;
++      else if (res < 0)
++          high = mid - 1;
++      else
++          low = mid + 1;
++    }
++
++    return FcFalse;
++}
++
+ #define FC_MAX_FILE_LEN           4096
+ FcBool
+@@ -201,7 +235,8 @@
+     }
+     while (ret && (e = readdir (d)))
+     {
+-      if (e->d_name[0] != '.' && strlen (e->d_name) < FC_MAX_FILE_LEN)
++      if (e->d_name[0] != '.' && strlen (e->d_name) < FC_MAX_FILE_LEN &&
++          !FcBlackListed (e->d_name))
+       {
+           strcpy ((char *) base, (char *) e->d_name);
+           ret = FcFileScan (set, dirs, cache, blanks, file, force);
diff --git a/fontconfig-defaultconfig.patch b/fontconfig-defaultconfig.patch
new file mode 100644 (file)
index 0000000..25a35c5
--- /dev/null
@@ -0,0 +1,101 @@
+--- fontconfig/fonts.conf.in.defaultconfig     Mon Aug 19 15:31:59 2002
++++ fontconfig/fonts.conf.in   Mon Sep  2 23:32:37 2002
+@@ -170,45 +170,86 @@
+       <alias>
+               <family>serif</family>
+               <prefer>
+-                      <family>Times New Roman</family>
+                       <family>Nimbus Roman No9 L</family>
+                       <family>Luxi Serif</family>
+-                      <family>Times</family>
+                       <family>Kochi Mincho</family>
++                      <family>ZYSong18030</family>
+                       <family>AR PL SungtiL GB</family>
+                       <family>AR PL Mingti2L Big5</family>
+                       <family>Baekmuk Batang</family>                 
++                      <family>Times New Roman</family>
++                      <family>Times</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>sans-serif</family>
+               <prefer>
+-                      <family>Verdana</family>
+-                      <family>Nimbus Sans L</family>
+                       <family>Luxi Sans</family>
+-                      <family>Arial</family>
++                      <family>Nimbus Sans L</family>
+                       <family>Helvetica</family>
+                       <family>Kochi Gothic</family>
+-                      <family>AR PL KaitiM GB</family>
+-                      <family>AR PL KaitiM Big5</family>
+-                      <family>Baekmuk Dotum</family>
++                      <family>ZYSong18030</family>
++                      <family>AR PL SungtiL GB</family>
++                      <family>AR PL Mingti2L Big5</family>
++                      <family>Baekmuk Gulim</family>
++                      <family>Verdana</family>
++                      <family>Arial</family>
+                       <family>SimSun</family>
+               </prefer>
+       </alias>
+       <alias>
+               <family>monospace</family>
+               <prefer>
+-                      <family>Andale Mono</family>
+-                      <family>Courier New</family>
+                       <family>Luxi Mono</family>
+                       <family>Nimbus Mono L</family>
+                       <family>Kochi Gothic</family>
+-                      <family>AR PL KaitiM GB</family>
+-                      <family>Baekmuk Dotum</family>
++                      <family>ZYSong18030</family>
++                      <family>AR PL SungtiL GB</family>
++                      <family>AR PL Mingti2L Big5</family>
++                      <family>Baekmuk Gulim</family>
++                      <family>Andale Mono</family>
++                      <family>Courier New</family>
+               </prefer>
+       </alias>
+ <!-- 
++ We can't hint CJK fonts well, so turn off hinting for CJK fonts.
++ -->
++
++      <match target="font">
++              <test name="lang" compare="contains">
++                      <string>ja</string>
++              </test>
++              <edit name="hinting" mode="assign">
++                      <bool>false</bool>
++              </edit>
++                <!-- the rh_prefer_bitmaps options (a nonstandard
++                     Red Hat extension), controls whether embedded 
++                     bitmaps, when available are preferred
++                     to antialiased rendering. For Japanese,
++                     we prefer antialiased rendering -->
++              <edit name="rh_prefer_bitmaps" mode="assign">
++                      <bool>false</bool>
++              </edit>
++      </match>
++      <match target="font">
++              <test name="lang" compare="contains">
++                      <string>ko</string>
++              </test>
++              <edit name="hinting" mode="assign">
++                      <bool>false</bool>
++              </edit>
++      </match>
++      <match target="font">
++              <test name="lang" compare="contains">
++                      <string>zh</string>
++              </test>
++              <edit name="hinting" mode="assign">
++                      <bool>false</bool>
++              </edit>
++      </match>
++
++<!-- 
+  Artificial oblique for fonts without an italic or oblique version
+  -->
+  
diff --git a/fontconfig-fontdir.patch b/fontconfig-fontdir.patch
new file mode 100644 (file)
index 0000000..15b4b6b
--- /dev/null
@@ -0,0 +1,11 @@
+--- fontconfig/Makefile.in.fontdir     Wed Jul 24 01:32:42 2002
++++ fontconfig/Makefile.in     Wed Jul 24 01:33:04 2002
+@@ -38,7 +38,7 @@
+ fonts.conf: fonts.conf.in
+       rm -f $@
+-      sh ./setfontdirs $(FC_DEFAULT_FONTS) $(X_FONT_DIR)
++      sh ./setfontdirs $(FC_DEFAULT_FONTS) $(X_FONT_DIR)/Type1
+ clean::
+       rm -f fonts.conf
diff --git a/fontconfig-subdir.patch b/fontconfig-subdir.patch
new file mode 100644 (file)
index 0000000..f79c058
--- /dev/null
@@ -0,0 +1,84 @@
+--- fontconfig/src/fcint.h.subdir      Sat Aug 31 18:17:32 2002
++++ fontconfig/src/fcint.h     Mon Sep  9 15:09:41 2002
+@@ -238,18 +238,20 @@
+     FcChar8                   *name;
+ } FcGlobalCacheFile;
++typedef struct _FcGlobalCacheDir FcGlobalCacheDir;
++
+ typedef struct _FcGlobalCacheSubdir {
+     struct _FcGlobalCacheSubdir       *next;
+-    FcChar8                   *file;
++    FcGlobalCacheDir          *ent;
+ } FcGlobalCacheSubdir;
+-typedef struct _FcGlobalCacheDir {
++struct _FcGlobalCacheDir {
+     struct _FcGlobalCacheDir  *next;
+     FcGlobalCacheInfo         info;
+     int                               len;
+     FcGlobalCacheFile         *ents[FC_GLOBAL_CACHE_FILE_HASH_SIZE];
+     FcGlobalCacheSubdir               *subdirs;
+-} FcGlobalCacheDir;
++};
+ typedef struct _FcGlobalCache {
+     FcGlobalCacheDir          *ents[FC_GLOBAL_CACHE_DIR_HASH_SIZE];
+--- fontconfig/src/fcdir.c.subdir      Mon Sep  9 13:04:09 2002
++++ fontconfig/src/fcdir.c     Mon Sep  9 15:09:41 2002
+@@ -117,6 +117,8 @@
+           {
+               isDir = FcTrue;
+               ret = FcStrSetAdd (dirs, file);
++              if (cache && ret)
++                  FcGlobalCacheUpdate (cache, file, 0, FC_FONT_FILE_DIR);
+           }
+           /*
+            * Update the cache
+--- fontconfig/src/fccache.c.subdir    Sat Aug 31 18:17:31 2002
++++ fontconfig/src/fccache.c   Mon Sep  9 15:09:41 2002
+@@ -448,14 +448,11 @@
+     parent = FcGlobalCacheDirGet (cache, i.dir, i.dir_len, FcTrue);
+     if (!parent)
+       return 0;
+-    subdir = malloc (sizeof (FcGlobalCacheSubdir) + 
+-                   strlen ((const char *) i.base) + 1);
++    subdir = malloc (sizeof (FcGlobalCacheSubdir));
+     if (!subdir)
+       return 0;
+-    FcMemAlloc (FC_MEM_CACHE, sizeof (FcGlobalCacheSubdir) +
+-              strlen ((const char *) i.base) + 1);
+-    subdir->file = (FcChar8 *) (subdir + 1);
+-    strcpy ((char *) subdir->file, (const char *) i.base);
++    FcMemAlloc (FC_MEM_CACHE, sizeof (FcGlobalCacheSubdir));
++    subdir->ent = d;
+     subdir->next = parent->subdirs;
+     parent->subdirs = subdir;
+     return &d->info;
+@@ -480,8 +477,7 @@
+     for (s = d->subdirs; s; s = nexts)
+     {
+       nexts = s->next;
+-      FcMemFree (FC_MEM_CACHE, sizeof (FcGlobalCacheSubdir) +
+-                 strlen ((char *) s->file) + 1);
++      FcMemFree (FC_MEM_CACHE, sizeof (FcGlobalCacheSubdir));
+       free (s);
+     }
+     FcMemFree (FC_MEM_CACHE, sizeof (FcGlobalCacheDir) + d->len + 1);
+@@ -535,12 +531,15 @@
+       }
+     for (subdir = d->subdirs; subdir; subdir = subdir->next)
+     {
++      FcFilePathInfo  info = FcFilePathInfoGet (subdir->ent->info.file);
++      
+       if (!FcCacheFontSetAdd (set, dirs, dir, dir_len,
+-                              subdir->file, FC_FONT_FILE_DIR))
++                              info.base, FC_FONT_FILE_DIR))
+       {
+           cache->broken = FcTrue;
+           return FcFalse;
+       }
++      FcGlobalCacheReferenced (cache, &subdir->ent->info);
+     }
+     
+     FcGlobalCacheReferenced (cache, &d->info);
This page took 0.10903 seconds and 4 git commands to generate.