User Tools

Site Tools


jwlua:enigmastrings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
jwlua:enigmastrings [2013/10/18 19:05]
jariw [Formatting]
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 Enigma strings ​support ​a couple of //text formatting// ​commands that can be inserted in the text**Each command listed below should be preceded by a ''​^''​.**+**Text expressions** ​support ​3 special ​commands ​for font names that allow them to respond correctly to category changesThe syntax is the same as for the ''​^font'' ​command listed above.
  
 +| ''​^fontMus''​ | The category music font |
 +| ''​^fontTxt''​ | The category text font |
 +| ''​^fontNum''​ | The category number font |
  
-^ baseline(integer) | The baseline shift value. | +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)''​). 
-^ tracking(integer) | The tracking value. |+===== 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 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 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.
jwlua/enigmastrings.1382123152.txt.gz · Last modified: 2013/10/18 19:05 by jariw