[scribus] Get the width of a piece of text in a Scribus script?

Owen rcook at pcug.org.au
Fri Aug 9 23:48:49 UTC 2013


> Good day,
> I'm working on a script for laying out a song book that includes
> lyrics
> and chords. Chord names need to be placed above each line of lyrics,
> at
> the appropriate spot in the lyrics. I've explored a variety of
> approaches to this using typographic options to try to get the chord
> letters bumped up above the lyrics line using baseline shift and
> kerning
> adjustments, but so far these have not proved effective.
>
> My present approach is to put each chord in a small text box above the
> lyrics line. In order to do this, I need to be able to determine the
> horizontal position of that point in the lyrics, as rendered in the
> relevant font and type size. Does anyone know of a way to do this?
>
> Apparently the ImageFont python module (which is a subset of PIL, or
> the
> Python Imaging Library), can return the width of a text line as
> rendered, but I so far have not been able to get this module working
> properly (there's a C library involved, which is malfunctioning in my
> installation).
>
> Does anyone know of any other way to programatically measure the
> rendered width of a line of text?




I don't think I know the answer to your question, but:

1. does the Property Palette, (position) help?
2. in the Help->Manual->For Developers->Scripter API->getting Object
Properties, there are a number of commands which may be of interest to
you (but maybe not)



-- 
Owen




More information about the scribus mailing list