git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f796f88
)
made .ttf files work on windows
author
Matthias Kramm
<kramm@quiss.org>
Thu, 4 Mar 2010 00:24:35 +0000
(16:24 -0800)
committer
Matthias Kramm
<kramm@quiss.org>
Thu, 4 Mar 2010 00:24:35 +0000
(16:24 -0800)
lib/ttf.c
patch
|
blob
|
history
diff --git
a/lib/ttf.c
b/lib/ttf.c
index
a5bcfe4
..
2cbc32b
100644
(file)
--- a/
lib/ttf.c
+++ b/
lib/ttf.c
@@
-1529,7
+1529,7
@@
void name_write(ttf_t*ttf, ttf_table_t*table)
for(t=0;t<nr;t++) {
if(strings[t])
for(t=0;t<nr;t++) {
if(strings[t])
- count++;
+ count+=2;
}
writeU16(table, count); //count
}
writeU16(table, count); //count
@@
-1539,14
+1539,23
@@
void name_write(ttf_t*ttf, ttf_table_t*table)
int offset = 0;
for(t=0;t<nr;t++) {
if(strings[t]) {
int offset = 0;
for(t=0;t<nr;t++) {
if(strings[t]) {
- writeU16(table, 1); //platform id
- writeU16(table, 0); //encoding id
- writeU16(table, 0); //language
- writeU16(table, codes[t]); //4: full name
+ writeU16(table, 1); //platform id (mac)
+ writeU16(table, 0); //encoding id (latin-1)
+ writeU16(table, 0); //language (english)
+ writeU16(table, codes[t]);
int len = strlen(strings[t]);
writeU16(table, len);
writeU16(table, offset);
offset += len;
int len = strlen(strings[t]);
writeU16(table, len);
writeU16(table, offset);
offset += len;
+
+ writeU16(table, 3); //platform id (windows)
+ writeU16(table, 1); //encoding id (ucs-2)
+ writeU16(table, 0x409); //language (US)
+ writeU16(table, codes[t]);
+ int len2 = len * 2;
+ writeU16(table, len2);
+ writeU16(table, offset);
+ offset += len2;
}
}
table->data[offset_pos] = table->len>>8;
}
}
table->data[offset_pos] = table->len>>8;
@@
-1556,6
+1565,11
@@
void name_write(ttf_t*ttf, ttf_table_t*table)
if(strings[t]) {
int len = strlen(strings[t]);
writeBlock(table, strings[t], len);
if(strings[t]) {
int len = strlen(strings[t]);
writeBlock(table, strings[t], len);
+ int s;
+ for(s=0;s<len;s++) {
+ writeU8(table, 0);
+ writeU8(table, strings[t][s]);
+ }
}
}
}
}
}
}