Hi Richard, After you have got it all working, send me the total patch and I'll try to cherrypick the bits that make sense.
behdad On 13-04-09 03:41 PM, Richard Wordingham wrote: > 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 > -- behdad http://behdad.org/ _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
