Annotation of /trunk/ttmkfdir/patches/ttmkfdir-3.0.9-encoding.patch
Parent Directory | Revision Log
Revision 153 -
(hide annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2334 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2334 byte(s)
-import
1 | niro | 153 | diff -urN ttmkfdir-3.0.9.orig/directory.cpp ttmkfdir-3.0.9/directory.cpp |
2 | --- ttmkfdir-3.0.9.orig/directory.cpp 2002-12-09 00:29:11.000000000 -0800 | ||
3 | +++ ttmkfdir-3.0.9/directory.cpp 2004-09-02 23:42:16.000000000 -0700 | ||
4 | @@ -9,10 +9,12 @@ | ||
5 | { | ||
6 | } | ||
7 | |||
8 | -void | ||
9 | +int | ||
10 | directory::scan (const std::string &dir) | ||
11 | { | ||
12 | DIR *ttfdir = opendir(dir.c_str ()); | ||
13 | + if(!ttfdir) | ||
14 | + return -1; | ||
15 | |||
16 | this->clear (); | ||
17 | dirpath = dir; | ||
18 | @@ -26,6 +28,7 @@ | ||
19 | } | ||
20 | |||
21 | closedir (ttfdir); | ||
22 | + return 0; | ||
23 | } | ||
24 | |||
25 | bool | ||
26 | diff -urN ttmkfdir-3.0.9.orig/directory.h ttmkfdir-3.0.9/directory.h | ||
27 | --- ttmkfdir-3.0.9.orig/directory.h 2002-12-09 00:29:11.000000000 -0800 | ||
28 | +++ ttmkfdir-3.0.9/directory.h 2004-09-02 23:42:16.000000000 -0700 | ||
29 | @@ -11,7 +11,7 @@ | ||
30 | if (path != "") scan (path); | ||
31 | }; | ||
32 | virtual ~directory (void); | ||
33 | - void scan (const std::string &path = "."); | ||
34 | + int scan (const std::string &path = "."); | ||
35 | virtual bool select (const char *name) const; | ||
36 | const std::string &path (void) const { | ||
37 | return dirpath; | ||
38 | diff -urN ttmkfdir-3.0.9.orig/encoding.l ttmkfdir-3.0.9/encoding.l | ||
39 | --- ttmkfdir-3.0.9.orig/encoding.l 2003-01-07 21:25:25.000000000 -0800 | ||
40 | +++ ttmkfdir-3.0.9/encoding.l 2004-09-02 23:42:51.000000000 -0700 | ||
41 | @@ -108,7 +108,7 @@ | ||
42 | } | ||
43 | |||
44 | /* now mark all the unassigned codes */ | ||
45 | - for (long i = i1; i <= i2; i++) { | ||
46 | + for (long i = i1; i <= i2 && i < cur_enc->size; i++) { | ||
47 | (*cur_map)[i] = -1; | ||
48 | } | ||
49 | } | ||
50 | @@ -140,7 +140,7 @@ | ||
51 | break; | ||
52 | } | ||
53 | |||
54 | - for (i = start_range; i <= end_range; i++, target++) { | ||
55 | + for (i = start_range; i <= end_range && i < cur_enc->size; i++, target++) { | ||
56 | (*cur_map)[i] = target; | ||
57 | } | ||
58 | cur_enc->enc_size = cur_enc->enc_size + end_range - start_range + 1; | ||
59 | diff -urN ttmkfdir-3.0.9.orig/ttmkfdir.cpp ttmkfdir-3.0.9/ttmkfdir.cpp | ||
60 | --- ttmkfdir-3.0.9.orig/ttmkfdir.cpp 2003-01-19 15:33:11.000000000 -0800 | ||
61 | +++ ttmkfdir-3.0.9/ttmkfdir.cpp 2004-09-02 23:42:16.000000000 -0700 | ||
62 | @@ -60,7 +60,10 @@ | ||
63 | return 0; | ||
64 | } | ||
65 | |||
66 | - dir::instance()->scan (cmdline::instance()->option ("font-dir")); | ||
67 | + if(dir::instance()->scan (cmdline::instance()->option ("font-dir")) == -1) { | ||
68 | + printf("No such directory...\n"); | ||
69 | + return -1; | ||
70 | + } | ||
71 | |||
72 | for (directory::iterator i = dir::instance()->begin (); i != dir::instance()->end(); i++) { | ||
73 | const ttf::Face face (dir::instance()->path() + '/' + *i); |