Using createCharStyle: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
Line 13: Line 13:
scribus.createCharStyle(yadayadayada)
scribus.createCharStyle(yadayadayada)
</pre>
</pre>
The yadayadayada refers to gradually building up from left to right the commands and with success, adding more. One of the first things I could learn was that, even though the only required element was the name of the style, you can't just skip over elements. You have to consider how Scripter knows that a particular element corresponds to a particular feature, so this makes some sense, but there doesn't seem to be any defaults here.
The yadayadayada refers to gradually building up from left to right the commands and with success, adding more. One of the first things I could learn was that, even though the only required element was the name of the style, you can't just skip over elements. You have to consider how Scripter knows that a particular element corresponds to a particular feature, so this makes some sense.
 
So you then can recursively run this script, and then either look at your named style or try to apply it.

Revision as of 14:16, 3 September 2011

Someone asked about the syntax for createCharStyle() on the mail list. The information in the online manual is clearly less than enough to understand how to use this command. My first attempts at making use of it couldn't even get past the traceback message, and the problem with traceback is that it tends to be at best cryptic, and at worst totally unhelpful.

Here is a slight translation I have done of the command as listed in its synopsis:

scribus.createCharStyle("name","font",fontsize,"features","fillcolor",fillshade,"strokecolor",strokeshade,baselineoffset, shadowxoffset,shadowyoffset,outlinewidth,underlineoffset,underlinewidth,strikethruoffset,strikethruwidth,scaleh,scalev, tracking,"language")

What I want to do is take these elements one by one and explain something about each. Notice that each one of these is either in quotes or not. If an element is in quotes, a string is expected and should be in quotes. If there are no quotes, then a numerical value is expected, and mostly a float value is appropriate. You do not, for example, put 'name="NameOfStyle"', you just have "NameOfStyle" in its place between the quotes. As far as I know, single or double quotes can be used here.

My Method

What I did was to use a pre-existing script I had that created text frames and entered text. I then just inserted this element at some point wherever it was sure to be executed:

scribus.createCharStyle(yadayadayada)

The yadayadayada refers to gradually building up from left to right the commands and with success, adding more. One of the first things I could learn was that, even though the only required element was the name of the style, you can't just skip over elements. You have to consider how Scripter knows that a particular element corresponds to a particular feature, so this makes some sense.

So you then can recursively run this script, and then either look at your named style or try to apply it.