iconv/libiconv name confusion on MacOS w/ Xcode and MacPorts
David Carter <[email protected]> Mon, 27 Jan 2020 21:04:39 +0000
| Newsgroups | gmane.comp.fonts.fontforge.devel |
|---|---|
| Message-ID | <CAKr4HqYAo7wdWSNCAEm78R=phm18G+NzLEX7y4hFCzUs6fcL2w@mail.gmail.com> |
--===============6713544663033143125==
Content-Type: multipart/alternative; boundary="0000000000005156ee059d25754a"
--0000000000005156ee059d25754a
Content-Type: text/plain; charset="UTF-8"
Hi,
I'm trying to compile FF on MacOS 10.13.6 with the latest Xcode toolchain
and libraries installed with MacPorts. There are issues with the
[lib]iconv library. One of two things happen:
1) If I just follow the basic build routine, (i.e. cmake -GNinja .. &&
ninja) then it finds libiconv in /usr/lib/libinconv.dylib, but the linker
for the FF library barfs that it can't find symbols beginning with _lib
while linking encoding.c.o:
Undefined symbols for architecture x86_64:
"_libiconv", referenced from:
__FindOrMakeEncoding in encoding.c.o
_TryEscape in encoding.c.o
_EncFromUni in encoding.c.o
_UniFromEnc in encoding.c.o
_MacStrToUtf8 in macenc.c.o
_Utf8ToMacStr in macenc.c.o
__readencstring in parsettf.c.o
...
"_libiconv_close", referenced from:
_FindUnicharName in encoding.c.o
__FindOrMakeEncoding in encoding.c.o
_MacStrToUtf8 in macenc.c.o
_Utf8ToMacStr in macenc.c.o
_encmatch in noprefs.c.o
"_libiconv_open", referenced from:
_FindUnicharName in encoding.c.o
__FindOrMakeEncoding in encoding.c.o
_MacStrToUtf8 in macenc.c.o
_Utf8ToMacStr in macenc.c.o
_encmatch in noprefs.c.o
ld: symbol(s) not found for architecture x86_64
2). Poking around in the cmake documentation, I found that there are
specific variables to control where cmake looks for libiconv. If I tell
cmake to use the MacOS ports version of libiconv (which is up to date
@version 1.16) like this:
cmake -DIconv_INCLUDE_DIR=/opt/local/include
-DIconv_LIBRARY=/opt/local/lib/libiconv.dylib -GNinja ..
That fixes the first error in 1) but the linker now barks that it can't
find symbols beginning with _iconv while linking other parts of the code
(specifically ucharmap.c):
ndefined symbols for architecture x86_64:
"_iconv", referenced from:
_def2u_strncpy in ucharmap.c.o
_my_iconv_setup in ucharmap.c.o
_u2def_strncpy in ucharmap.c.o
_def2u_copy in ucharmap.c.o
_u2def_copy in ucharmap.c.o
_def2utf8_copy in ucharmap.c.o
_utf82def_copy in ucharmap.c.o
There is some information about this name confusion here:
https://mw.gl/posts/libiconv_mac/
I'd be happy to patch this but at this stage I'm not at all sure the best
way. Can someone who is familiar with the encoding and charmap code
comment here? It seems to me like ucharmap.c and encoding.c do not adopt a
consistent approach with respect to these function names (?). That's a
rather superficial observation - I have not yet had time to minutely pick
through the code - I thought it might be more enlightening to ask this list
for ideas.
Thoughts?
Thanks,
David.
--0000000000005156ee059d25754a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi,<div style=3D"user-select: auto;"><br style=3D"user-sel=
ect: auto;"></div><div style=3D"user-select: auto;">I'm trying to compi=
le FF on MacOS 10.13.6 with the latest Xcode toolchain and libraries instal=
led with MacPorts.=C2=A0 =C2=A0 There are issues with the [lib]iconv librar=
y.=C2=A0 =C2=A0One of two things happen:</div><div style=3D"user-select: au=
to;"><br style=3D"user-select: auto;"></div><div style=3D"user-select: auto=
;">1) If I just follow the basic build routine, (i.e. cmake -GNinja .. &=
;& ninja) then it finds libiconv in /usr/lib/libinconv.dylib, but the l=
inker for the FF library barfs that it can't find symbols beginning wit=
h _lib while linking encoding.c.o:</div><div style=3D"user-select: auto;"><=
br style=3D"user-select: auto;"></div><div style=3D"user-select: auto;">
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures">Undefined symbols for architecture x86_64:</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 </span>"_libiconv", referenced from:</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>__FindOrMakeEncoding in encoding.c.o</spa=
n></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_TryEscape in encoding.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_EncFromUni in encoding.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_UniFromEnc in encoding.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_MacStrToUtf8 in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_Utf8ToMacStr in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>__readencstring in parsettf.c.o</span></p=
>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>...</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 </span>"_libiconv_close", referenced from:</span></p=
>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_FindUnicharName in encoding.c.o</span></=
p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>__FindOrMakeEncoding in encoding.c.o</spa=
n></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_MacStrToUtf8 in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_Utf8ToMacStr in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_encmatch in noprefs.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 </span>"_libiconv_open", referenced from:</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_FindUnicharName in encoding.c.o</span></=
p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>__FindOrMakeEncoding in encoding.c.o</spa=
n></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_MacStrToUtf8 in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_Utf8ToMacStr in macenc.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_encmatch in noprefs.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures">ld: symbol(s) not found for architecture x86_64</span></p></div><di=
v style=3D"user-select: auto;"><br style=3D"user-select: auto;"></div><div =
style=3D"user-select: auto;">2). Poking around in the cmake documentation, =
I found that there are specific variables to control where cmake looks for =
libiconv.=C2=A0 =C2=A0If I tell cmake to use the MacOS ports version of lib=
iconv (which is up to date @version 1.16) like this:</div><div style=3D"use=
r-select: auto;">
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures">cmake -DIconv_INCLUDE_DIR=3D/opt/local/include -DIconv_LIBRARY=3D/o=
pt/local/lib/libiconv.dylib -GNinja ..</span></p></div><div style=3D"user-s=
elect: auto;"><br style=3D"user-select: auto;"></div><div style=3D"user-sel=
ect: auto;">That fixes the first error in 1) but the linker now barks that =
it can't find symbols beginning with _iconv while linking other parts o=
f the code (specifically ucharmap.c):</div><div style=3D"user-select: auto;=
"><br style=3D"user-select: auto;"></div><div style=3D"user-select: auto;">
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures">ndefined symbols for architecture x86_64:</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 </span>"_iconv", referenced from:</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_def2u_strncpy in ucharmap.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_my_iconv_setup in ucharmap.c.o</span></p=
>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_u2def_strncpy in ucharmap.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_def2u_copy in ucharmap.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_u2def_copy in ucharmap.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_def2utf8_copy in ucharmap.c.o</span></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:no=
rmal;font-family:Menlo;color:rgb(255,255,255);background-color:rgb(43,102,2=
01)"><span class=3D"gmail-s1" style=3D"font-variant-ligatures:no-common-lig=
atures"><span class=3D"gmail-Apple-converted-space" style=3D"user-select: a=
uto;">=C2=A0 =C2=A0 =C2=A0 </span>_utf82def_copy in ucharmap.c.o</span></p>=
</div><div style=3D"user-select: auto;"><br style=3D"user-select: auto;"></=
div><div style=3D"user-select: auto;">There is some information about this =
name confusion here:</div><div style=3D"user-select: auto;"><br style=3D"us=
er-select: auto;"></div><div style=3D"user-select: auto;"><a href=3D"https:=
//mw.gl/posts/libiconv_mac/">https://mw.gl/posts/libiconv_mac/</a><br style=
=3D"user-select: auto;"></div><div style=3D"user-select: auto;"><br style=
=3D"user-select: auto;"></div><div style=3D"user-select: auto;">I'd be =
happy to patch this but at this stage I'm not at all sure the best way.=
=C2=A0 =C2=A0Can someone who is familiar with the encoding and charmap code=
comment here?=C2=A0 It seems to me like ucharmap.c and encoding.c do not a=
dopt a consistent approach with respect to these function names (?).=C2=A0 =
That's a rather superficial observation - I have not yet had time to mi=
nutely pick through the code - I thought it might be more enlightening to a=
sk this list for ideas.</div><div style=3D"user-select: auto;"><br style=3D=
"user-select: auto;"></div><div style=3D"user-select: auto;">Thoughts?</div=
><div style=3D"user-select: auto;"><br style=3D"user-select: auto;"></div><=
div style=3D"user-select: auto;">Thanks,<br style=3D"user-select: auto;">Da=
vid.</div><div style=3D"user-select: auto;"><br style=3D"user-select: auto;=
"></div><div style=3D"user-select: auto;"><br style=3D"user-select: auto;">=
</div><div style=3D"user-select: auto;"><br style=3D"user-select: auto;"></=
div></div>
--0000000000005156ee059d25754a--
--===============6713544663033143125==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============6713544663033143125==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
fontforge-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fontforge-devel
http://fontforge.10959.n7.nabble.com/Developer-f3.html
--===============6713544663033143125==--