On Tue, 09 Apr 2013 14:08:52 -0400 Behdad Esfahbod <[email protected]> wrote:
> On 13-04-09 07:40 AM, Steven R. Loomis wrote: > > (meant to reply all) > > > > Richard, > > GCC 3.4.3 is about 9 years old- http://gcc.gnu.org/gcc-3.4/ > > Would it be possible to rebuild gcc, even in a user account? I'll take that as 'Code is correct, compiler is wrong, not worth changing code to accommodate it.' The differences are just the compile-time checking associated with the copying of pointers and references. I did wonder if C++ may have evolved between compiler builds. I'm worried that I can't work out why the code is correct and the compiler is wrong. > > Could be endian problems? Unlikely with the compiler. I seem to have got the basic code working, though my solution to the FreeType problem may be horribly inefficient. (I haven't tried hb-view on Solaris yet.) > Looks like Richard's problem was with pkg-config and as a result not > detecting FreeType. That's the problems that manifests itself at run-time, though the message on running configure should have been heeded. The issues are: 1) Configure insists on at least version 0.20 of pkg-config. It seems that a new, now used option was added then (or started working). I think that autoconf deals with that, but there may be a problem with old versions of pkg-config and old versions of autoconf together. Which is definitive, configure or configure.ac? Patching configure is simple; I just change one of the many occurrences of '0.20' to '0.15'. I haven't yet tested patching configure.ac. 2) FreeType has two sets of version numbers. Version 2.1.9 (at least, as identified by FT_Library_Version()) identifies itself as 9.7.3 in freetype2.pc, and Version 2.3.11 identifies itself there as Version 9.22.3. The utility pkg-config extracts the number from freetype2.pc, and compares this against 2.3.8. I don't yet know what the corresponding version number in freetype2.pc is, so I have no patch to offer. (Presumably I can find this out by downloading Version 2.3.8.) 3) The check for Version 2.3.8 for Freetype may be because that is when the newer, faster interface for extracting advance widths started working. The interface exists in Version 2.3.7, so it may have been buggy, or perhaps the cut-off point is for some other reason. The interface does not exist in Version 2.1.9, or, at least, not in the header files. 4) I have a working patch (well, tested horizontally, not yet tested vertically) that will choose the old interface for FreeType Version 2.1.9 and choose the new interface for FreeType Version 2.3.11. 5) Bizarrely, the new interface seems not to be called to extract the advance widths! More precisely, the function hb_ft_get_glyph_h_advance() in hb-ft.cc does not seem to be called within the shaper. (It does get called when I invoke method get_glyph_h_advance() between calls of hb_ft_font_set_funcs() and hb_shape().) I'm going to have to step through the code with the debugger, because this makes no sense whatsoever. Richard. _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
