diff --git a/.ttmkfdir.metadata b/.ttmkfdir.metadata new file mode 100644 index 0000000..8ec90a4 --- /dev/null +++ b/.ttmkfdir.metadata @@ -0,0 +1 @@ +829473beb905a39f026fc0e9b4aeb10031a5a8a9 SOURCES/ttmkfdir-3.0.9.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/ttmkfdir-3.0.9-bug434301.patch b/SOURCES/ttmkfdir-3.0.9-bug434301.patch new file mode 100644 index 0000000..0a77dbb --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-bug434301.patch @@ -0,0 +1,11 @@ +--- ttmkfdir-3.0.9/directory.cpp.bak 2008-02-27 10:18:52.000000000 +0800 ++++ ttmkfdir-3.0.9/directory.cpp 2008-02-27 10:20:24.000000000 +0800 +@@ -3,6 +3,8 @@ + #include + #include + #include ++#include ++#include + + #include "directory.h" + diff --git a/SOURCES/ttmkfdir-3.0.9-cpp.patch b/SOURCES/ttmkfdir-3.0.9-cpp.patch new file mode 100644 index 0000000..58839ed --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-cpp.patch @@ -0,0 +1,11 @@ +--- ttmkfdir-3.0.9/ttf.cpp.sopwith Thu Aug 7 12:49:08 2003 ++++ ttmkfdir-3.0.9/ttf.cpp Thu Aug 7 12:50:01 2003 +@@ -239,7 +239,7 @@ + for (i = 0; i < n; i++) { + if ((fterror = FT_Get_Sfnt_Name (face, i, &NamePtr)) != FT_Err_Ok) { + std::cout << "Warning: Can't SFNT name : " << FileName << "(" << fterror << ")" << std::endl; +- return; ++ return NULL; + }; + platform = NamePtr.platform_id; + encoding = NamePtr.encoding_id; diff --git a/SOURCES/ttmkfdir-3.0.9-encoding-dir.patch b/SOURCES/ttmkfdir-3.0.9-encoding-dir.patch new file mode 100644 index 0000000..b073296 --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-encoding-dir.patch @@ -0,0 +1,20 @@ +--- ttmkfdir-3.0.9/ttmkfdir.cpp.Origin 2006-06-15 17:58:43.000000000 +0800 ++++ ttmkfdir-3.0.9/ttmkfdir.cpp 2006-06-15 17:59:07.000000000 +0800 +@@ -16,7 +16,7 @@ + + cerr << "This Program is (C) Joerg Pommnitz, 2000" << endl; + cerr << "Usage: " << program << " [OPTION]" << endl; +- cerr << "-e, --encoding\t\tname of the encoding directory file, default is \"/usr/X11R6/lib/X11/fonts/encodings/encodings.dir\"" << endl; ++ cerr << "-e, --encoding\t\tname of the encoding directory file, default is \"/usr/share/X11/fonts/encodings/encodings.dir\"" << endl; + cerr << "-o, --output\t\tname of the destination file, default is \"fonts.scale\"" << endl; + cerr << "-d, --font-dir\t\tname of the TrueType font directory, default is \".\"" << endl; + cerr << "-f, --default-foundry\tname of the default font foundry, default is \"misc\"" << endl; +@@ -32,7 +32,7 @@ + void + ParseCommandline (int argc, char *argv[]) + { +- cmdline::instance()->AddOption (new Commandline::Option ("encoding", 'e', "/usr/X11R6/lib/X11/fonts/encodings/encodings.dir")); ++ cmdline::instance()->AddOption (new Commandline::Option ("encoding", 'e', "/usr/share/X11/fonts/encodings/encodings.dir")); + cmdline::instance()->AddOption (new Commandline::Option ("output", 'o', "fonts.scale")); + cmdline::instance()->AddOption (new Commandline::Option ("font-dir", 'd', ".")); + cmdline::instance()->AddOption (new Commandline::Option ("default-foundry", 'f', "misc")); diff --git a/SOURCES/ttmkfdir-3.0.9-fix-crash.patch b/SOURCES/ttmkfdir-3.0.9-fix-crash.patch new file mode 100644 index 0000000..4a17ccf --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-fix-crash.patch @@ -0,0 +1,79 @@ +--- ttmkfdir-3.0.9.orig/encoding.l 2003-01-08 14:25:25.000000000 +0900 ++++ ttmkfdir-3.0.9/encoding.l 2005-08-03 19:24:22.000000000 +0900 +@@ -21,6 +21,19 @@ + + static Encoding *cur_enc; + static NumericMapping *cur_map; ++static int is_created_map = 0; ++ ++static void ++create_mapping(void) ++{ ++ cur_map = new NumericMapping (cur_enc->size, ++ TT_PLATFORM_MICROSOFT, ++ TT_MS_ID_UNICODE_CS); ++ ++ cur_enc->enc_size = 0; ++ cur_enc->start_code = 0xffff; ++ is_created_map = 1; ++} + + %} + +@@ -67,12 +80,6 @@ + } + + STARTMAPPING{WHITESPACES}unicode { +- cur_map = new NumericMapping (cur_enc->size, +- TT_PLATFORM_MICROSOFT, +- TT_MS_ID_UNICODE_CS); +- +- cur_enc->enc_size = 0; +- cur_enc->start_code = 0xffff; + BEGIN(INSIDE_MAP_BLOCK); + } + +@@ -107,6 +114,12 @@ + i2 = i1; + } + ++ /* avoid a crash issue */ ++ if (cur_enc->size < i2) ++ cur_enc->size = i2; ++ if (!is_created_map) ++ create_mapping(); ++ + /* now mark all the unassigned codes */ + for (long i = i1; i <= i2; i++) { + (*cur_map)[i] = -1; +@@ -114,10 +127,14 @@ + } + + {NUMBER}({WHITESPACES}{NUMBER}){0,2} { +- int numbers[3], i = 0, start_range, end_range, target, res; ++ unsigned int start_range; ++ int numbers[3], i = 0, end_range, target, res; + char *startptr; + char *endptr = yytext; + ++ if (!is_created_map) ++ create_mapping(); ++ + for (i = 0;;i++) { + startptr = endptr; + res = std::strtol (startptr, &endptr, 0); +@@ -150,9 +167,14 @@ + + + ENDMAPPING { ++ /* it may not happens but to be safe */ ++ if (!is_created_map) ++ create_mapping(); ++ + cur_enc->AddMapping (cur_map); + dest.insert (std::make_pair(cur_map->cmapkey(), cur_enc));; + BEGIN(INSIDE_ENC_BLOCK); ++ is_created_map = 0; + } + + ENDMAPPING { diff --git a/SOURCES/ttmkfdir-3.0.9-fix-freetype217.patch b/SOURCES/ttmkfdir-3.0.9-fix-freetype217.patch new file mode 100644 index 0000000..a5ded9f --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-fix-freetype217.patch @@ -0,0 +1,44 @@ +--- ttmkfdir-3.0.9/encoding.cpp.orig 2002-12-09 17:52:48.000000000 +0900 ++++ ttmkfdir-3.0.9/encoding.cpp 2004-01-31 18:16:46.617118976 +0900 +@@ -4,7 +4,6 @@ + #include + #include + #include +-#include "freetype/freetype.h" + + #include "ttmkfdir.h" + #include "encoding.h" +--- ttmkfdir-3.0.9/encoding.h.orig 2002-12-09 17:52:48.000000000 +0900 ++++ ttmkfdir-3.0.9/encoding.h 2004-01-31 18:19:18.600014064 +0900 +@@ -6,7 +6,8 @@ + #include + #include + +-#include "freetype/freetype.h" ++#include ++#include FT_FREETYPE_H + + #include "util.h" + +--- ttmkfdir-3.0.9/ttf.h.orig 2003-01-08 14:25:25.000000000 +0900 ++++ ttmkfdir-3.0.9/ttf.h 2004-01-31 18:32:53.333155800 +0900 +@@ -3,12 +3,13 @@ + #define TTF_H__ + + #include +-#include "freetype/freetype.h" +-#include "freetype/tttables.h" +-#include "freetype/ftsnames.h" +-#include "freetype/ttnameid.h" +-#include "freetype/fterrors.h" +-#include "freetype/ftmodule.h" ++#include ++#include FT_FREETYPE_H ++#include FT_SFNT_NAMES_H ++#include FT_TRUETYPE_TABLES_H ++#include FT_TRUETYPE_IDS_H ++#include FT_ERRORS_H ++#include FT_MODULE_H + + #include "util.h" + #include "encoding.h" diff --git a/SOURCES/ttmkfdir-3.0.9-font-scale.patch b/SOURCES/ttmkfdir-3.0.9-font-scale.patch new file mode 100644 index 0000000..e44e5dc --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-font-scale.patch @@ -0,0 +1,107 @@ +diff -ruN -x '*o' -x '*~' -x ttmkfdir -x parser.cpp ttmkfdir-3.0.9.orig/ttf.cpp ttmkfdir-3.0.9/ttf.cpp +--- ttmkfdir-3.0.9.orig/ttf.cpp 2006-11-29 15:46:55.000000000 +0900 ++++ ttmkfdir-3.0.9/ttf.cpp 2006-11-29 17:21:40.000000000 +0900 +@@ -70,7 +70,6 @@ + Face::Face (const std::string &filename) + { + FT_Error fterror; +- string header_enc("-"); + int face_id, face_count; + + string::size_type pos = filename.rfind("/"); +@@ -98,29 +97,13 @@ + if ((post = (TT_Postscript *) FT_Get_Sfnt_Table(face, ft_sfnt_post)) == 0){ + std::cout << "Warning: Can't get POST table : " << FileName << "(" << FT_Err_Post_Table_Missing << ")" << std::endl; + return; +- } ++ } + + if ((os2 = (TT_OS2 *) FT_Get_Sfnt_Table(face, ft_sfnt_os2)) == 0) { + std::cout << "Warning: Can't get OS2 table : " << FileName << "(" << FT_Err_Table_Missing << ")" << std::endl; + return; + } + +- for (int j = 0; j < 32; j++) { +- switch (os2->ulCodePageRange1 & (1 << j)) { +- case TT_CODEPAGE_RANGE_932: /* Japanese */ +- header_enc = "ji"; +- break; +- case TT_CODEPAGE_RANGE_936: /* Simplified Chinese */ +- header_enc = "gb"; +- break; +- case TT_CODEPAGE_RANGE_949: /* Korean Wansung */ +- header_enc = "ks"; +- break; +- case TT_CODEPAGE_RANGE_950: /* Traditional Chinese */ +- header_enc = "big"; +- break; +- } +- } + /* + * Iterate over all cmap entries. + */ +@@ -148,25 +131,50 @@ + */ + typedef Encodings_t::const_iterator MI; + std::pair bounds = Encodings::instance()->equal_range (key); ++ bool need_non_cjk_encoding = true; + + /* + * then look whether each of these encodings is present in this cmap. + */ +- for (Encodings_t::const_iterator i = bounds.first; i != bounds.second; i++) { +- if (MappingPresent (cmapidx, +- i->second->mappings[key], +- i->second->enc_size, +- i->second->start_code, +- (header_enc.compare("-")?((i->second->names[0].find(header_enc) != string::npos)?1:0):1) +- )) { +- /* +- * if the mapping is present, add all xlfd names for this mapping to the +- * list of available font names. +- */ +- for (unsigned int k = 0; k < i->second->names.size (); k++) { +- add_entries (i->second->names[k],face_id); ++ for (int j = 0; j < 32; j++) { ++ string header_enc("-"); ++ ++ switch (os2->ulCodePageRange1 & (1 << j)) { ++ case TT_CODEPAGE_RANGE_932: /* Japanese */ ++ header_enc = "ji"; ++ break; ++ case TT_CODEPAGE_RANGE_936: /* Simplified Chinese */ ++ header_enc = "gb"; ++ break; ++ case TT_CODEPAGE_RANGE_949: /* Korean Wansung */ ++ header_enc = "ks"; ++ break; ++ case TT_CODEPAGE_RANGE_950: /* Traditional Chinese */ ++ header_enc = "big"; ++ break; ++ default: ++ if (need_non_cjk_encoding) ++ need_non_cjk_encoding = false; ++ else ++ continue; ++ break; ++ } ++ for (Encodings_t::const_iterator i = bounds.first; i != bounds.second; i++) { ++ if (MappingPresent (cmapidx, ++ i->second->mappings[key], ++ i->second->enc_size, ++ i->second->start_code, ++ (header_enc.compare("-")?((i->second->names[0].find(header_enc) != string::npos)?1:0):1) ++ )) { ++ /* ++ * if the mapping is present, add all xlfd names for this mapping to the ++ * list of available font names. ++ */ ++ for (unsigned int k = 0; k < i->second->names.size (); k++) { ++ add_entries (i->second->names[k],face_id); ++ } + } +- } ++ } + } + } + diff --git a/SOURCES/ttmkfdir-3.0.9-namespace.patch b/SOURCES/ttmkfdir-3.0.9-namespace.patch new file mode 100644 index 0000000..34220c2 --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-namespace.patch @@ -0,0 +1,56 @@ +*** ttmkfdir-3.0.9/ttf.h.ORIG 2004-03-10 13:40:47.149814008 -0700 +--- ttmkfdir-3.0.9/ttf.h 2004-03-10 13:40:50.571293864 -0700 +*************** namespace ttf { +*** 50,56 **** + TT_Postscript *post; + std::string FileName; + }; +! }; + + #endif /* TTF_H__ */ + +--- 50,56 ---- + TT_Postscript *post; + std::string FileName; + }; +! } + + #endif /* TTF_H__ */ + +*** ttmkfdir-3.0.9/util.h.ORIG 2004-03-10 13:40:19.872960720 -0700 +--- ttmkfdir-3.0.9/util.h 2004-03-10 13:40:34.059803992 -0700 +*************** namespace util { +*** 17,22 **** + Singleton (void) {}; + ~Singleton (void) {}; + }; +! }; + + #endif // TTMKFDIRUTIL_H__ +--- 17,22 ---- + Singleton (void) {}; + ~Singleton (void) {}; + }; +! } + + #endif // TTMKFDIRUTIL_H__ +*** ttmkfdir-3.0.9/builtin.cpp.ORIG 2004-03-10 13:41:47.089701760 -0700 +--- ttmkfdir-3.0.9/builtin.cpp 2004-03-10 13:41:51.327057584 -0700 +*************** namespace { +*** 600,606 **** + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff + }; + +! }; + + Encoding::BuiltinEncoding_t Encoding::builtin_encodings[] = { + {256,191,32,{TT_PLATFORM_MICROSOFT,TT_MS_ID_UNICODE_CS,iso8859_1},{"iso8859-1",}}, +--- 600,606 ---- + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff + }; + +! } + + Encoding::BuiltinEncoding_t Encoding::builtin_encodings[] = { + {256,191,32,{TT_PLATFORM_MICROSOFT,TT_MS_ID_UNICODE_CS,iso8859_1},{"iso8859-1",}}, + diff --git a/SOURCES/ttmkfdir-3.0.9-segfaults.patch b/SOURCES/ttmkfdir-3.0.9-segfaults.patch new file mode 100644 index 0000000..17a8dec --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-segfaults.patch @@ -0,0 +1,20 @@ +--- ttmkfdir-3.0.9/directory.cpp.back 2005-10-08 14:25:37.839328408 +0800 ++++ ttmkfdir-3.0.9/directory.cpp 2005-10-08 14:26:00.021956136 +0800 +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include + +@@ -13,6 +14,10 @@ + directory::scan (const std::string &dir) + { + DIR *ttfdir = opendir(dir.c_str ()); ++ if (!ttfdir) { ++ printf("%s is not exist!\n", dir.c_str ()); ++ exit(-1); ++ } + + this->clear (); + dirpath = dir; diff --git a/SOURCES/ttmkfdir-3.0.9-warnings.patch b/SOURCES/ttmkfdir-3.0.9-warnings.patch new file mode 100644 index 0000000..26334bb --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-warnings.patch @@ -0,0 +1,75 @@ +--- ttmkfdir-3.0.9/encoding.l~ 2005-08-03 19:33:07.000000000 +0900 ++++ ttmkfdir-3.0.9/encoding.l 2005-08-03 21:52:15.000000000 +0900 +@@ -115,7 +115,7 @@ + } + + /* avoid a crash issue */ +- if (cur_enc->size < i2) ++ if ((int) (cur_enc->size) < i2) + cur_enc->size = i2; + if (!is_created_map) + create_mapping(); +@@ -127,8 +127,8 @@ + } + + {NUMBER}({WHITESPACES}{NUMBER}){0,2} { +- unsigned int start_range; +- int numbers[3], i = 0, end_range, target, res; ++ unsigned int start_range = 0, i = 0, end_range = 0; ++ int numbers[3], target = 0, res; + char *startptr; + char *endptr = yytext; + +--- ttmkfdir-3.0.9/commandline.cpp~ 2002-12-09 17:29:11.000000000 +0900 ++++ ttmkfdir-3.0.9/commandline.cpp 2005-08-03 21:12:40.000000000 +0900 +@@ -1,6 +1,8 @@ + #include + ++#ifndef _GNU_SOURCE + #define _GNU_SOURCE ++#endif + #include + + #include "commandline.h" +--- ttmkfdir-3.0.9/ttmkfdir.cpp~ 2003-01-20 08:33:11.000000000 +0900 ++++ ttmkfdir-3.0.9/ttmkfdir.cpp 2005-08-03 21:08:43.000000000 +0900 +@@ -76,7 +76,7 @@ + return 1; + } + +- fprintf (output, "%d\n", fontdir.size ()); ++ fprintf (output, "%d\n", (int)(fontdir.size ())); + + for (vector::const_iterator i = fontdir.begin (); i != fontdir.end (); i++) { + fprintf (output, "%s\n", i->c_str ()); +--- ttmkfdir-3.0.9/ttf.cpp~ 2005-08-03 19:33:07.000000000 +0900 ++++ ttmkfdir-3.0.9/ttf.cpp 2005-08-03 21:31:48.000000000 +0900 +@@ -533,7 +533,7 @@ + const char * + Face::Weight (void) const + { +- const char *result; ++ const char *result = NULL; + + if (cmdline::instance()->option ("panose") && ((result = PanoseWeight ()) != 0)) { + return result; +@@ -614,7 +614,7 @@ + const char * + Face::Width (void) const + { +- const char *result; ++ const char *result = NULL; + + if (cmdline::instance()->option ("panose") && ((result = PanoseWidth ()) != 0)) { + return result; +--- ttmkfdir-3.0.9/encoding.cpp~ 2005-08-03 19:33:07.000000000 +0900 ++++ ttmkfdir-3.0.9/encoding.cpp 2005-08-03 21:31:44.000000000 +0900 +@@ -121,7 +121,7 @@ + + NumericMapping *m = new NumericMapping (size, b->mapdata.platform, b->mapdata.encoding); + +- for (int i = 0; i < size; i++) ++ for (unsigned int i = 0; i < size; i++) + (*m)[i] = b->mapdata.mappingtable[i]; + + AddMapping (m); diff --git a/SOURCES/ttmkfdir-3.0.9-zlib.patch b/SOURCES/ttmkfdir-3.0.9-zlib.patch new file mode 100644 index 0000000..548a49e --- /dev/null +++ b/SOURCES/ttmkfdir-3.0.9-zlib.patch @@ -0,0 +1,80 @@ +--- ttmkfdir-3.0.9/encoding.cpp 2002-12-09 03:52:48.000000000 -0500 ++++ ttmkfdir-3.0.9/encoding.cpp 2003-09-12 12:32:29.000000000 -0400 +@@ -2,6 +2,8 @@ + #include + #include + #include ++#include ++#include + #include "freetype/freetype.h" + + #include "ttmkfdir.h" +@@ -32,9 +34,16 @@ + NextFile (FILE *f, char *name) + { + char file_name [1024]; +- char command[1024]; ++ char line_buf [1024]; ++ char tmp_file_name[] = "/tmp/ttmkfdir_XXXXXX"; ++ char inbuf[300000]; ++ FILE *od; ++ gzFile fd; ++ int rvalue, tmpfd; + +- if (fscanf (f, "%*s %[^\n]\n", file_name) == 1) { ++ if (fgets (line_buf, sizeof(line_buf), f) != NULL) { ++ ++ sscanf (line_buf, "%*s %[^\n]\n", file_name); + + if (file_name[0] == '/') { + name[0] = 0; +@@ -44,9 +53,25 @@ + + strcat (name, file_name); + +- sprintf (command, "exec %s < %s", (toupper(name[strlen (name) - 1]) == 'Z') +- ? "gzip -d" : "cat", name); +- return popen (command, "r"); ++ bzero(inbuf, sizeof(inbuf)); ++ ++ fd = gzopen (name,"rb"); ++ rvalue = gzread (fd, inbuf, sizeof(inbuf)); ++ ++ tmpfd = mkstemp (tmp_file_name); ++ if (tmpfd == -1) { ++ return 0; ++ } ++ ++ od = fdopen (tmpfd,"w"); ++ fputs (inbuf, od); ++ fflush (od); ++ fclose (od); ++ ++ od = fopen (tmp_file_name,"r"); ++ unlink (tmp_file_name); ++ return od; ++ + } + + return 0; +@@ -75,7 +100,7 @@ + yyrestart (input); + yylex (name, *this); + +- pclose (input); ++ fclose (input); + } + + fclose (f); +diff -uNr ttmkfdir-3.0.9.orig/Makefile ttmkfdir-3.0.9/Makefile +--- ttmkfdir-3.0.9.orig/Makefile 2003-08-21 17:43:13.000000000 +1000 ++++ ttmkfdir-3.0.9/Makefile 2003-08-21 17:40:16.000000000 +1000 +@@ -28,7 +28,7 @@ + DEBUG=-ggdb + CXX=g++ + CXXFLAGS=-Wall -pedantic $(FREETYPE_INCL) $(DEBUG) $(OPTFLAGS) +-LDFLAGS=$(FREETYPE_LIB) $(DEBUG) ++LDFLAGS=$(FREETYPE_LIB) $(DEBUG) -lz + + DESTDIR= + PREFIX=/usr diff --git a/SOURCES/ttmkfdir.1 b/SOURCES/ttmkfdir.1 new file mode 100644 index 0000000..a11f96e --- /dev/null +++ b/SOURCES/ttmkfdir.1 @@ -0,0 +1,68 @@ +.TH TTMKFDIR 1 "March 28, 2013" +.SH NAME +\fBttmkfdir\fR\ - Utility to create fonts.scale files for truetype fonts +.SH SYNOPSIS +.B ttmkfdir +.RB [OPTION] +.SH DESCRIPTION +.PP + Originally written by Joerg Pommnitz, ttmkfdir is a tool to create valid and complete fonts.scale file from TrueType fonts. It is very useful when you plan to use a TrueType enabled font server that is based on the X11R6 sample implementation (xfsft for instance). Great care has been taken to correctly identify the encodings that a given TrueType font supports. + +The ttmkfdir comes with Red Hat Linux has experienced quite some modifications or improvements, include: + +\fR\- migration to FreeType 2 library +.TP +\fR\- more accurate checking for big font files +.TP +\fR\- support for both two X core font backends, Freetype and XTT +.TP +\fR\- Truetype collection(ttc) font file support +.TP +\fR\- additional CJK friendly features +.TP +\fR\- bug fixes + + +.SH OPTIONS +Here is the detailed usage of Red Hat version of ttmkfdir. +.TP +.B -h, --help +It shows the menus and combo box in iok UI +.TP +.B -e, --encoding +ttmkfdir is doing its job by checking each TrueType font file against fontenc layer, please refer www.xfree86.org/current/fonts.html for details. Default encodings.dir file is /usr/X11R6/lib/X11/fonts/encodings/encodings.dir +.TP +.B -o, --output +Specify output, default is fonts.scale in the current directory +.TP +.B -d, --font-dir +Specify TrueType font directory, default is the current directory +.TP +.B -f, --default-foundry +Specify name of the default font foundry, default is "misc" +.TP +.B -m, --max-missing +Specify the maximum number of missing characters per encoding, default is 5. This option applies to the encoding that has less than 256 codepoint definitions. +.TP +.B -a, --max-missing-percentage +Specify the maximum percentage of missing characters per encoding, default is 2. This option applies to the encoding that has more than 256 codepoint definitions. +.TP +.B -b, --font-backend +For X FreeType backend, use value "1", for XTT backend use value "2", default value is 1. When you have TrueType Collection font(.ttc), you need to use this option. +.TP +.B -x, --additional-entries +Additional entries mean those extra TTCaps stuff for XTT backend, mainly for bold and italic font support. Or for FreeType backend, because FreeType still doesn't support bold and italic font, ttmkfdir can generate extra "dummy" XLFDs, so applications who asking those fonts won't complain. + +Default value is "0" means off,otherwise use "1" to switch it on. +.TP +.B -c, --completeness +use less strict completeness tests for encoding tables +.TP +.B -p, --panose +use panose information + +.SH AUTHOR +Yu Shao and Pravin Satpute +.PP +.SH LICENSE +GNU Library General Public License diff --git a/SPECS/ttmkfdir.spec b/SPECS/ttmkfdir.spec new file mode 100644 index 0000000..d82f19d --- /dev/null +++ b/SPECS/ttmkfdir.spec @@ -0,0 +1,243 @@ +Summary: Utility to create fonts.scale files for truetype fonts +Name: ttmkfdir +Version: 3.0.9 +Release: 39%{?dist} +# This is a Red Hat maintained package which is specific to +# our distribution. Thus the source is only available from +# within this srpm. +Source0: %{name}-%{version}.tar.bz2 +Patch: ttmkfdir-3.0.9-cpp.patch +Patch1: ttmkfdir-3.0.9-zlib.patch +Patch2: ttmkfdir-3.0.9-fix-freetype217.patch +Patch3: ttmkfdir-3.0.9-namespace.patch +Patch4: ttmkfdir-3.0.9-fix-crash.patch +Patch5: ttmkfdir-3.0.9-warnings.patch +Patch6: ttmkfdir-3.0.9-segfaults.patch +Patch7: ttmkfdir-3.0.9-encoding-dir.patch +Patch8: ttmkfdir-3.0.9-font-scale.patch +Patch9: ttmkfdir-3.0.9-bug434301.patch +Source10: ttmkfdir.1 +# Only licensing attribution is in README, no version. +License: LGPLv2+ +Group: Applications/System +BuildRequires: freetype-devel >= 2.0 +BuildRequires: zlib-devel flex +BuildRequires: libtool + +# ttmkfdir used to be in the following packages at one point +Conflicts: XFree86-font-utils < 4.2.99.2-0.20021126.3 +Conflicts: freetype < 2.0.6-3 + +%description +ttmkfdir is a utility used to create fonts.scale files in +TrueType font directories in order to prepare them for use +by the font server. + +%prep +%setup -q +%patch -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 + +%build +make %{?_smp_mflags} OPTFLAGS="$RPM_OPT_FLAGS" + +%install +make DESTDIR=$RPM_BUILD_ROOT install INSTALL="install -p" +mkdir -p %{buildroot}%{_mandir}/man1/ +cp -p %{SOURCE10} %{buildroot}%{_mandir}/man1/ + +%files +%doc README +%{_bindir}/ttmkfdir +%{_mandir}/man1/ttmkfdir.1.gz + +%changelog +* Thu Mar 28 2013 Pravin Satpute - 3.0.9-39 +- added manpage (#928684) + +* Fri Feb 15 2013 Fedora Release Engineering - 3.0.9-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Nov 20 2012 Pravin Satpute - 3.0.9-37 +- Spec cleanup (#878321) + +* Sun Jul 22 2012 Fedora Release Engineering - 3.0.9-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Feb 28 2012 Fedora Release Engineering - 3.0.9-35 +- Rebuilt for c++ ABI breakage + +* Sat Jan 14 2012 Fedora Release Engineering - 3.0.9-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Feb 09 2011 Fedora Release Engineering - 3.0.9-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Jul 26 2009 Fedora Release Engineering - 3.0.9-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 24 2009 Jens Petersen - 3.0.9-31 +- simplify ttmkfdir-3.0.9-encoding-dir.patch to drop X11R6/ check (#173705) + +* Tue Mar 03 2009 Caolán McNamara - 3.0.9-30 +- fix ttmkfdir-3.0.9-segfaults.patch to include stdio.h for added printf + +* Wed Feb 25 2009 Fedora Release Engineering - 3.0.9-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Dec 15 2008 Pravin Satpute - 3.0.9-28 +- modified spec file as per merge review suggestions bug 226506 + +* Mon Sep 8 2008 Tom "spot" Callaway - 3.0.9-27 +- fix license tag + +* Wed Feb 27 2008 Lingning Zhang - 3.0.9-26 +- fix bug434301. + +* Tue Feb 19 2008 Fedora Release Engineering - 3.0.9-25 +- Autorebuild for GCC 4.3 + +* Thu Nov 30 2006 Lingning Zhang - 3.0.9-24.fc7 +- add ttmkfdir-3.0.9-font-scale.patch to fix bug #209102. +- Patch from Akira TAGOH. + +* Wed Oct 18 2006 Lingning Zhang - 3.0.9-23 +- rebuild + +* Fri Sep 29 2006 Lingning Zhang - 3.0.9-22 +- delete "%%post" and "Requires(post)" in ttmkfdir.spec + +* Thu Sep 28 2006 Lingning Zhang - 3.0.9-21 +- modify release + +* Wed Sep 27 2006 Lingning Zhang - 3.0.9-20.4 +- modify "%%post" and add "Requires(post)" in ttmkfdir.spec for fixing bug173591, bug207279, bug208122 + +* Wed Sep 06 2006 Lingning Zhang - 3.0.9-20.3 +- add "%%post" in ttmkfdir.spec for fixing bug173591 + +* Wed Jul 12 2006 Jesse Keating - 3.0.9-20.2.1 +- rebuild + +* Tue Jun 20 2006 Lingning Zhang - 3.0.9-20.2 +- add "BuildRequires: libtool" in ttmkfdir.spec + +* Mon Jun 19 2006 Lingning Zhang - 3.0.9-20.1 +- remove the modifying part of ttmkfdir-3.0.9/Makefile, recover the old Makefile +- modify ttmkfdir-3.0.9-encoding-dir.patch about Makefile + +* Thu Jun 15 2006 Lingning Zhang - 3.0.9-20 +- add ttmkfdir-3.0.9-encoding-dir.patch to fix bug #173705 +- modify ttmkfdir-3.0.9/Makefile to delete the compiling flag of "ggdb" + +* Fri Feb 10 2006 Jesse Keating - 3.0.9-19.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 3.0.9-19.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Sat Oct 8 2005 LingNing Zhang -3.0.9-19 +- add ttmkfdir-3.0.9-segfaults.patch to fix bug #164969 + +* Wed Aug 3 2005 Jens Petersen - 3.0.9-17 +- replace ttmkfdir-3.0.9-defautl_enc_size.patch and + ttmkfdir-3.0.9-crashplus.patch with ttmkfdir-3.0.9-fix-crash.patch + to fix missing native encodings of fonts + (Akira Tagoh, #143941) +- buildrequire flex +- add ttmkfdir-3.0.9-warnings.patch to silence most of compiler warnings + +* Sun Mar 20 2005 Yu Shao 3.0.9-16 +- rebuild with GCC 4 + +* Fri Sep 10 2004 Yu Shao 3.0.9-14 +- bug #100560, requires zlib-devel rather than zlib + +* Tue Aug 17 2004 Elliot Lee 3.0.9-13 +- Follow-on fix for the issue detailed in #118713 +- Improve performance when checking if a font has a mapping present +- Base font file selection on the magic at the start of the file, rather than the filename + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Mar 19 2004 Yu Shao 3.0.9-11 +- set default encoding size to DEFAULT_SIZE, bug #118713 + +* Fri Mar 12 2004 Yu Shao 3.0.9-10 +- patch suggested from law@redhat.com not to use semicolon in GCC3.4, 3.5 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Feb 12 2004 Yu Shao 3.0.9-8 +- patch for building package against freetype-2.1.7 +- from kanagawa jigorou (jigorou3@mail.goo.ne.jp) #114682 + +* Mon Sep 15 2003 Yu Shao 3.0.9-6 +- updated zlib patch from Nalin Dahyabhai #104331 + +* Thu Aug 21 2003 Yu Shao 3.0.9-4 +- added zlib build requirement, partly releated to #100560 +- other fixes + +* Thu Aug 7 2003 Elliot Lee +- Fix compile error (cpp.patch) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Thu Jan 23 2003 Yu Shao 3.0.9-1 +- added freetype-devel build requirement #82468 + +* Mon Jan 20 2003 Yu Shao 3.0.8-1 +- revert additional-entries to 0 #82125 + +* Wed Jan 15 2003 Yu Shao 3.0.7-1 +- set default value of additional-entries to 1 + +* Mon Jan 13 2003 Yu Shao 3.0.6-1 +- added iso8859-13 support from Nerijus Baliunas #77289 +- added README + +* Wed Jan 8 2003 Yu Shao 3.0.5-1 +- encoding.l fix and ttc support patch +- default read system encodings.dir instead of the one +- in current directory + +* Wed Dec 18 2002 Yu Shao 3.0.4-1 +- make ttmkfdir keep silent with FIRSTINDEX. #61769 + +* Wed Dec 18 2002 Yu Shao 3.0.3-1 +- Applied new patches to make ttmkfdir provide more infomation when meets +- bad fonts + +* Mon Dec 9 2002 Mike A. Harris 3.0.2-1 +- Changed the nonstandard RPM Group from System/Utilities to Applications/System +- Added a new Makefile install target, and changed specfile to use makeinstall + +* Mon Dec 9 2002 Mike A. Harris 3.0.1-1 +- Imported ttmkfdir into CVS on cvs.devel and applied all patches to CVS +- Removed patches from spec file +- Rewrote Makefile, now uses freetype-config to autodetect CFLAGS and libs, + allowing a lot of spec file cleanups. Added new targets for tagging CVS, + making tarball, and making srpm. + +* Mon Dec 2 2002 Mike A. Harris 3.0.0-2 +- Added Conflicts for prior packages which contained ttmkfdir + +* Fri Nov 29 2002 Mike A. Harris 3.0.0-1 +- Initial build. Basically just renamed our existing ttmkfdir to version + 3.0.0 to differentiate it. It's the same old thing as before, but is + likely going to move to CVS for easier development.