Contents of /trunk/ttmkfdir/patches/ttmkfdir-3.0.9-encoding.patch
Parent Directory | Revision Log
Revision 153 -
(show 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 | 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); |