package created by autospec [release 3.0.9-1mamba;Mon Jan 24 2011]
This commit is contained in:
parent
672ab626d0
commit
a55ec7ea26
@ -1,2 +1,7 @@
|
|||||||
# ttmkfdir
|
# ttmkfdir
|
||||||
|
|
||||||
|
ttmkfdir is a tool to create valid and complete fonts.dir files 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.
|
||||||
|
|
||||||
|
11
ttmkfdir-3.0.9-bug434301.patch
Normal file
11
ttmkfdir-3.0.9-bug434301.patch
Normal file
@ -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 <stdio.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
+#include <string.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "directory.h"
|
||||||
|
|
11
ttmkfdir-3.0.9-cpp.patch
Normal file
11
ttmkfdir-3.0.9-cpp.patch
Normal file
@ -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;
|
79
ttmkfdir-3.0.9-fix-crash.patch
Normal file
79
ttmkfdir-3.0.9-fix-crash.patch
Normal file
@ -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 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
<INSIDE_ENC_BLOCK>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 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
<INSIDE_MAP_BLOCK>{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 @@
|
||||||
|
|
||||||
|
|
||||||
|
<INSIDE_MAP_BLOCK>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;
|
||||||
|
}
|
||||||
|
|
||||||
|
<INSIDE_UNKNOWN_MAP>ENDMAPPING {
|
44
ttmkfdir-3.0.9-fix-freetype217.patch
Normal file
44
ttmkfdir-3.0.9-fix-freetype217.patch
Normal file
@ -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 <cstring>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <zlib.h>
|
||||||
|
-#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 <map>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
-#include "freetype/freetype.h"
|
||||||
|
+#include <ft2build.h>
|
||||||
|
+#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 <string>
|
||||||
|
-#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 <ft2build.h>
|
||||||
|
+#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"
|
107
ttmkfdir-3.0.9-font-scale.patch
Normal file
107
ttmkfdir-3.0.9-font-scale.patch
Normal file
@ -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<MI, MI> 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);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
20
ttmkfdir-3.0.9-mamba-encoding_dir.patch
Normal file
20
ttmkfdir-3.0.9-mamba-encoding_dir.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- ttmkfdir.cpp 2011-01-24 09:30:16.000000000 +0100
|
||||||
|
+++ ttmkfdir.cpp-gil 2011-01-24 09:41:57.000000000 +0100
|
||||||
|
@@ -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/lib/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/lib/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"));
|
56
ttmkfdir-3.0.9-namespace.patch
Normal file
56
ttmkfdir-3.0.9-namespace.patch
Normal file
@ -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",}},
|
||||||
|
|
20
ttmkfdir-3.0.9-segfaults.patch
Normal file
20
ttmkfdir-3.0.9-segfaults.patch
Normal file
@ -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 <cctype>
|
||||||
|
#include <dirent.h>
|
||||||
|
+#include <stdio.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
@@ -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;
|
75
ttmkfdir-3.0.9-warnings.patch
Normal file
75
ttmkfdir-3.0.9-warnings.patch
Normal file
@ -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 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
<INSIDE_MAP_BLOCK>{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 <cstdlib>
|
||||||
|
|
||||||
|
+#ifndef _GNU_SOURCE
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
+#endif
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#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<string>::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);
|
80
ttmkfdir-3.0.9-zlib.patch
Normal file
80
ttmkfdir-3.0.9-zlib.patch
Normal file
@ -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 <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cstring>
|
||||||
|
+#include <unistd.h>
|
||||||
|
+#include <zlib.h>
|
||||||
|
#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
|
81
ttmkfdir.spec
Normal file
81
ttmkfdir.spec
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
Name: ttmkfdir
|
||||||
|
Version: 3.0.9
|
||||||
|
Release: 1mamba
|
||||||
|
Summary: Utility used to create fonts.scale files for truetype fonts
|
||||||
|
Group: System/Tools
|
||||||
|
Vendor: openmamba
|
||||||
|
Distribution: openmamba
|
||||||
|
Packager: gil <puntogil@libero.it>
|
||||||
|
##URL: http://www.joerg-pommnitz.de/TrueType/xfsft.html
|
||||||
|
URL: http://pravins.fedorapeople.org/ttmkfdir/
|
||||||
|
|
||||||
|
# Source: http://www.joerg-pommnitz.de/TrueType/ttmkfdir.tar.gz only binary available
|
||||||
|
# source from http://pravins.fedorapeople.org/ttmkfdir/ttmkfdir-3.0.9-28.fc10.src.rpm
|
||||||
|
|
||||||
|
# This is a Red Hat maintained package which is specific to
|
||||||
|
# our distribution. Thus the source is only available from
|
||||||
|
# within this srpm.
|
||||||
|
|
||||||
|
Source: ttmkfdir-%{version}.tar.bz2
|
||||||
|
Patch0: 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-mamba-encoding_dir.patch
|
||||||
|
Patch8: ttmkfdir-3.0.9-font-scale.patch
|
||||||
|
Patch9: ttmkfdir-3.0.9-bug434301.patch
|
||||||
|
##License: GPL, LGPL, MIT
|
||||||
|
License: LGPL
|
||||||
|
BuildRequires: flex
|
||||||
|
BuildRequires: libtool
|
||||||
|
## AUTOBUILDREQ-BEGIN
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libfreetype-devel
|
||||||
|
BuildRequires: libgcc
|
||||||
|
BuildRequires: libstdc++6-devel
|
||||||
|
BuildRequires: libz-devel
|
||||||
|
## AUTOBUILDREQ-END
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
|
|
||||||
|
%description
|
||||||
|
ttmkfdir is a tool to create valid and complete fonts.dir files 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.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
%patch6 -p1
|
||||||
|
%patch7 -p0
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
|
||||||
|
sed -i "s|CXX=g++|CXX=%{__cxx}|" Makefile
|
||||||
|
|
||||||
|
%build
|
||||||
|
%make OPTFLAGS="%{optflags}"
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/ttmkfdir
|
||||||
|
%doc README
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Jan 24 2011 gil <puntogil@libero.it> 3.0.9-1mamba
|
||||||
|
- package created by autospec
|
Loading…
Reference in New Issue
Block a user