This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
jwlua:enigmastrings [2013/10/18 19:03] jariw [Fonts] |
jwlua:enigmastrings [2014/11/30 10:26] (current) jariw [Fonts] |
||
---|---|---|---|
Line 4: | Line 4: | ||
A double caret ''^^'' in an Enigma string will insert a single ''^'' to the printed text. | A double caret ''^^'' in an Enigma string will insert a single ''^'' to the printed text. | ||
+ | |||
+ | Only the text strings that support formatting are stored as Enigma strings in Finale. For example: a Staff name is an Enigma string, a Bookmark name is not. | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | Full Enigma string might look like this: | ||
+ | |||
+ | | ''^fontMus(Font0,0)^size(24)^nfx(0)F'' | "mf" (mezzoforte) text expression marking using the category's default font name. | | ||
+ | | ''^fontTxt(Times New Roman,4096)^size(12)^nfx(2)subito ^fontMus(Font0,0)^size(24)^nfx(0)p'' | "subito p" text expression (with font change before "p") | | ||
+ | | ''^font(Times New Roman,4096)^size(12)^nfx(0)^title()'' | A text with a "title" text insert. | | ||
+ | ===== Text Storage ===== | ||
+ | |||
+ | Enigma strings are saved to different text pools depending on the object data that requires the string. Text blocks use a different storage pool compared to text expressions, for example. | ||
===== Fonts ===== | ===== Fonts ===== | ||
Line 15: | Line 28: | ||
=== ^nfx(integer) === | === ^nfx(integer) === | ||
- | The font styles as an integer. Use ''FCFontInfo:CreateEnigmaStyleString()'' to get the string to use from an existing style. | + | The font styles as a bit set coded as an integer. Use ''FCFontInfo:CreateEnigmaStyleString()'' to get the string to use from an existing style. The ''FCFontInfo.EnigmaStyles'' property can get/set the numerical style data directly in a FCFontInfo object. |
+ | |||
+ | ''^nfx(0)'' would mean a plain font style. | ||
+ | |||
+ | Other bit style numbers are: | ||
+ | ^ Decimal ^ Hexadecimal ^ Font style ^ | ||
+ | | 1 | 0x01 | Bold | | ||
+ | | 2 | 0x02 | Italic | | ||
+ | | 4 | 0x04 | Underline | | ||
+ | | 32 | 0x20 | Strikeout | | ||
+ | | 64 | 0x40 | Fixed font size | | ||
+ | | 128 | 0x80 | Hidden | | ||
=== ^size(integer) === | === ^size(integer) === | ||
Line 21: | Line 45: | ||
The font size, where the integer value is in points. | The font size, where the integer value is in points. | ||
- | ==== Formatting ==== | + | ===== Special Text Expression Fonts ===== |
- | The text formatting in a string. | + | **Text expressions** support 3 special commands for font names that allow them to respond correctly to category changes. The syntax is the same as for the ''^font'' command listed above. |
- | ^ baseline(integer) | The baseline value. | | + | | ''^fontMus'' | The category music font | |
+ | | ''^fontTxt'' | The category text font | | ||
+ | | ''^fontNum'' | The category number font | | ||
+ | |||
+ | In addition to using traditional font names (such as ''^fontTxt(Times New Roman, 0)''), these commands can also use a "special" font name called ''Font0'', that would represent the default category font (such as ''^fontTxt(Font0,0)''). | ||
+ | ===== Formatting ===== | ||
+ | |||
+ | The Enigma strings support a couple of **text formatting** commands that can be inserted in the text. | ||
+ | |||
+ | | ''^baseline(integer)'' | The baseline shift value. | | ||
+ | | ''^superscript(integer)'' | The superscript value. | | ||
+ | | ''^tracking(integer)'' | The tracking value. | | ||
===== Text Inserts ===== | ===== Text Inserts ===== | ||
- | **All text insert commands listed below should be preceded by a ''^''** (the Wiki system doesn't seem to allow that syntax in a table). | + | These commands will insert special contents to the string. Some text inserts might not make sense for certain types of Enigma strings. |
+ | |||
+ | | ''^arranger()'' | The arranger name text insert (defined in the File Info). | | ||
+ | | ''^composer()'' | The composer name text insert (defined in the File Info). | | ||
+ | | ''^copyright()'' | The copyright text insert (defined in the File Info). | | ||
+ | | ''^cprsym()'' | The copyright symbol. | | ||
+ | | ''^date(integer)'' | The current date. The ''integer'' parameter is the date format: 0 - short, 1 - long | | ||
+ | | ''^dbflat()'' | The double flat text insert. | | ||
+ | | ''^dbsharp()'' | The double sharp text insert. | | ||
+ | | ''^description()'' | The description text insert (defined in the File Info). | | ||
+ | | ''^fdate(integer)'' | The file date. The ''integer'' parameter is the date format: 0 - short, 1 - long | | ||
+ | | ''^filename()'' | The document's file name. | | ||
+ | | ''^flat()'' | The "flat" symbold text insert. | | ||
+ | | ''^lyricist()'' | The lyricist text insert (defined in the File Info). | | ||
+ | | ''^natural()'' | The "natural" symbol text insert. | | ||
+ | | ''^page(integer)'' | The page number with the added offset of the ''integer'' value. 0 as an offset would mean that the first page have page number 1. | | ||
+ | | ''^partname()'' | The score/part name for the score/part in scope. | | ||
+ | | ''^perftime(integer)'' | The playback/performance time text insert. The ''integer'' parameter is a time format specifier: 0 - m:ss, 1 - hh:mm:ss, 2 - hh:mm:ss.1000nds, 3 - hh:mm, 4 - m´ss´´, 5 - m | | ||
+ | | ''^rehearsal()'' | For **text expressions** only! Inserts a rehearsal figure in the text expression string. | | ||
+ | | ''^sharp()'' | A "sharp" symbol text insert. | | ||
+ | | ''^subtitle()'' | The subtitle text insert (defined in the File Info). | | ||
+ | | ''^title()'' | The title text insert (defined in the File Info). | | ||
+ | | ''^time(integer)'' | The current time. The ''integer'' parameter is a time format specifier, see the ''perftime()'' text insert. | | ||
+ | | ''^totpages()'' | The text insert for total number of pages in the current score/part. | | ||
- | ^ arranger() | The arranger name text insert (defined in the File Info). | | + | ===== Misc. ===== |
- | ^ composer() | The composer name text insert (defined in the File Info). | | + | |
- | ^ copyright() | The copyright text insert (defined in the File Info). | | + | |
- | ^ cprsym() | The copyright symbol. | | + | |
- | ^ date(integer) | The current date. The ''integer'' parameter is the date format: 0 - short, 1 - long | | + | |
- | ^ dbflat() | The double flat text insert. | | + | |
- | ^ dbsharp() | The double sharp text insert. | | + | |
- | ^ description() | The description text insert (defined in the File Info). | | + | |
- | ^ fdate(integer) | The file date. The ''integer'' parameter is the date format: 0 - short, 1 - long | | + | |
- | ^ filename() | The document's file name. | | + | |
- | ^ flat() | The "flat" symbold text insert. | | + | |
- | ^ lyricist() | The lyricist text insert (defined in the File Info). | | + | |
- | ^ natural() | The "natural" symbol text insert. | | + | |
- | ^ page(integer) | The page number with the added offset of the ''integer'' value. 0 as an offset would mean that the first page have page number 1. | | + | |
- | ^ partname() | The score/part name for the score/part in scope. | | + | |
- | ^ perftime(integer) | The playback/performance time text insert. The ''integer'' parameter is a time format specifier: 0 - m:ss, 1 - hh:mm:ss, 2 - hh:mm:ss.1000nds, 3 - hh:mm, 4 - m´ss´´, 5 - m | | + | |
- | ^ sharp() | A "sharp" symbol text insert. | | + | |
- | ^ subtitle() | The subtitle text insert (defined in the File Info). | | + | |
- | ^ title() | The title text insert (defined in the File Info). | | + | |
- | ^ time(integer) | The current time. The ''integer'' parameter is a time format specifier, see the ''perftime()'' text insert. | | + | |
- | ^ totpages() | The text insert for total number of pages in the current score/part. | | + | |
+ | There's also a **^url()** command to format hyperlinks. Syntax currently unknown. |