Re: RemapGlyph()


Subject: Re: RemapGlyph()
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Wed Jun 20 2001 - 10:32:36 CDT


On Thu, 21 Jun 2001, Andrew Dunbar wrote:

> Can somebody please explain the role of GR_Graphics::remapGlyph()?
> It converts zero-width characters into "degree" symbols.
> This is the cause of Bug 1518. Why do we do this?
>

I'm fighting with this too. Symbol fonts have major problems being printed
on Gtk. I suspect that something even more serious is happening with them
too.

Twice I've saved a test document with symbol fonts and both have turned up
as "bogus documents".

I suspect we problems in our import/exporters.

Here is my little script to run gdb. One of the world's great programs in
IMHO.

This will give you the command line
gdb>

from which you can set breakpoints and define variable to be traced like:
ie

break fv_View.cpp:4890

then run AbiWord with

gdb> run

You can control-C at any time, inspect variable etc and continue with

gdb> continue

Anyway, explore it, it's an extremely useful program.

Cheers

Martin

PS. Did I tell you yet that I love your email address? I keep thinking
"Head full of zombies..."

Here is Abiword_gdb
----------------------------------------------------------
!/bin/sh
#
# AbiSuite program wrapper script, dynamically generated
# from abi/src/pkg/common/unix/scripts/makewrapper.sh.

currentFonts=`xset q | grep Abi`

# Change this if you move the AbiSuite tree.
ABISUITE_HOME=/home/msevior/abidir/AbiSuite
export ABISUITE_HOME

# Change this if you move the AbiSuite binaries.
ABISUITE_LIBEXEC=/home/msevior/abidir/AbiSuite/bin

# Change this if you move your fonts.
ABISUITE_FONT_HOME=$ABISUITE_HOME/fonts

#locale-specific dirs could be added to it.
ABISUITE_FONT_PATH=$ABISUITE_FONT_HOME

#For electric fence debugging
EF_ALLOW_MALLOC_0=1

#now try to guess locale
locale=$LC_ALL #it's incorrect to set this variable, but someone
                #might set it incorrectly.
if [ -z $locale ]
then
    locale=$LANG
fi

if [ ! -z $locale ]
then
    #now guess encoding
    encoding=`echo $locale | sed -e 's/^.*\.\(.*\)$/\1/'`
    if [ ! -z $encoding ]
    then
        addfontdir=$ABISUITE_FONT_HOME/$encoding
        if [ ! -z $addfontdir ]
        then
            if [ -d $addfontdir ]
            then
                    #add directory with locale-specific fonts to font path
                    ABISUITE_FONT_PATH=$ABISUITE_FONT_PATH,$addfontdir
            fi
        fi
    fi
fi

# Set run-time font path
if [ -d $ABISUITE_FONT_HOME ]
then
    xset fp+ $ABISUITE_FONT_PATH 1>/dev/null 2>/dev/null
fi

# Figure out which binary to run
if [ -f $ABISUITE_LIBEXEC/AbiWord_d ]
then
    gdb $ABISUITE_LIBEXEC/AbiWord_d
elif [ -f $ABISUITE_LIBEXEC/AbiWord_s ]
then
    gdb $ABISUITE_LIBEXEC/AbiWord_s
else
    echo ""
    echo "Error: can't find AbiWord executables:"
    echo " $ABISUITE_LIBEXEC/AbiWord_d"
    echo " -or-"
    echo " $ABISUITE_LIBEXEC/AbiWord_s"
    echo ""
    exit
fi
#Check to make sure we don't stomp on anything
if [ -z $currentFonts ]
then
    # Set post run-time font path
    if [ -d $ABISUITE_FONT_HOME ]
    then
        xset fp- $ABISUITE_FONT_PATH 1>/dev/null 2>/dev/null
    fi
fi



This archive was generated by hypermail 2b25 : Wed Jun 20 2001 - 10:33:00 CDT