Dragon Flame documentation

Contents
1. Main features
2. Tengwar transcription
3. Additional tools and dictionaries
4. Complex search with regular expressions
5. Acknowledgements


1. Main features


This a dictionary, with all the basic features you may await from such a tool. What else to say? Let's rather focus on the specifics of Dragon Flame.

Copy and paste

You can select text in the entry definition area and then copy it with the "Copy selected text" (Ctrl+C) option in the Edit menu. You can also select the Tengwar transcription (see below about it) of the current entry and copy it with "Copy selected tengwar" (Ctrl+T).

You may then paste the text in another software, provided that you have the appropriate fonts. Definitions require some Unicode font (such as Lucida Sans Unicode, Gentium or Thryomanes) to be installed, in order to render some special characters and the phonetics. The Tengwar description requires the Tengwar Sindarin font (or any other Tengwar font following the same character encoding).

2. Tengwar transcription


Dragon Flame includes the Tiny Tengwar Transcriber technology by Tomás Nemec and supports Mans Bjorkman's Tengwar modes and Daniel S. Smith's Tengwar Sindarin font.

Tengwar mode selection

Each dictionary automatically selects the appropriate Tengwar transcription mode (for instance, Hiswelókë's Sindarin dictionary will automatically set the "Sindarin" mode for the Sindarin entries and the "English" mode for the index), but you can force a different mode using the selection box at the left bottom corner of the application.

Note: All proposed modes are not valid for all languages. If you have no experience in Tengwar transcription, let the dictionary select a mode for you. Please also remember that automated transcription is not always perfect, and that it sometimes fails to render some of the subtleties of J.R.R. Tolkien's writing system.

Tengwar edition area

By default, Dragon Flame transcribes the current dictionary entry. But the single line text area above the transcription also allows you to enter any word or sentence for immediate transcription.

Note: This feature is only intended for small and quick Tengwar transcriptions. If you require more typesetting options or have longer texts to render in Tengwar, the YaTT software by Tomás Nemec is probably what you need.

3. Additionnal tools and dictionaries


The following features are available when your Internet connection is active. Some of these functions may however be disabled, depending on your settings.

On-line dictionaries

In the Tools menu, the "Search online dictionaries..." (Ctrl+O) option allows you to search for definitions in external dictionaries complying with the DICT protocol (RFC 2229), such as Webster's Revised Unabridged Dictionary (1913) and WordNet. The default dictionary server is dict.org.

Dictionary updates

In the Help menu, the "Check dictionary updates..." option will check for new versions of installed dictionaries. Updates are announced on the web site, please use this feature only when required (Dragon Flame is not updated that often!).

4. Complex search with regular expressions


In Dragon Flame, you can use the "Search For a Regular Expression" (Ctrl+F) from the Edit menu to find words that match the criteria of your choice.

Regular expression search fonction

Searching in entry names allows you to search a regular expression in the entry names (headwords) of a dictionnary or a list. This is a quite useful tool if you are searching for "words that start with...", "words that contain...", and so on.

You can also search a dictionnary for Regular Expressions in entry descriptions (the text that appears in the main window of Dragon Flame, on the right) to find anything you have in mind (you will see below that you can search very strange things if you are imaginative).

There is also a Case sensitive option to specify whether you mind about the case of words or not.

Chart of special characters used in regular expressions

Regular expressions rely on special character sequences, most of which are listed below:

c   matches the character c
.   matches any character
[]   matches a defined set of characters (see further below)
a*   matches a sequence of zero or more a's
a+   matches a sequence of one or more a's
a?   matches an optional a
\c   escape code for matching special characters such as \, [, *, +, . etc.
\t   matches the TAB character (9)
\n   matches newline (10)
\r   matches return (13)
\s   matches a white space. This includes at least ASCII characters 9 (TAB), 10 (LF), 11 (VT), 12(FF), 13 (CR) and 32 (space).
\d   matches a digit. This includes at least characters '0'-'9'.
\x1f6b   matches the character with unicode point U+1F6B.
\022   matches the Latin-1 character with octal code 22.
A character set matches a defined set of characters. For example, [BSD] matches any of 'B', 'D' and 'S'. Within a character set, the special characters '.', '*', '?', '^', '$', '+' and '[' lose their special meanings. The following special characters apply:

^   when placed first in the list, changes the character set to match any character not in the list. To include the character '^' itself in the set, escape it or place it anywhere but first.
-   defines a range of characters. To include the character '-' itself in the set, escape it or place it last.
]   ends the character set definition. To include the character ']' itself in the set, escape it or place it first (but after the negation operator '^', if present)
Thus, [a-zA-Z0-9.] matches upper and lower case ASCII letters, digits and dot; and [^ ] matches everything except white space.

Examples

Using regular expressions in Hiswelókë's Sindarin dictionnary. Results may differ depending on your version of the dictionary, but you should however get the principles.

Words that... contain "galadh".
This one is quite simple. You just have to enter "galadh" as the expression you are looking for. Thus, you will obtain successively:
galadh, galadhremmen, galadhremmin, galadhrim, orgaladh, orgaladhad

Words that... start with "lun".
You could simply notice that words are sorted by alphabetical order... but for more complex searches, it is very useful. To do this, add a whitespace before your expression: " lun". You will then get:
lunt

Words that... end with "nnath".
Simply add a whitespace at the end of your request. Thus, "nnath ". You will obtain:
ann-thennath, ionnath, lonnath, periannath, pheriannath, pinnath

Words that... start with "f", end with "en", and contains "ath".
You will have to add some information about the characters that you don't mind. If we look back to the special characters chart, we can see that '.' represents any character. Thus, to represent a sequence of a character you do not mind about, we will add the information "any number of", by using the character "*". Thus, this sequence is represented by ".*" which means "any number of any character". So, your request will be: "f.*ath.*en", and you will get:
falathren

Words that... contain "ador" or "adar".
There, you will have to use a character set: "ad[ao]r". You will obtain:
adanadar, adar, gador, gwador, hador, sador

5. Acknowledgements


Benjamin Babut is the chief developer for the Dragon Flame application. Didier Willis came up with Hiswelókë's Sindarin dictionary and added his bugs to the software, but pleads non-guilty.

Linguistic help

Many thanks to all the members of the Sindarin dictionary group for their contributions, corrections and continual feedback.
Special thanks to: Jim Allan, Helge Fauskanger, Carl Hostetter, Per Lindberg, Elena Liria, Javier Lorenzo, David and Dorothea Salo, Lisa Star, Emanuele Vicentini.

Technical help

Special thanks to: Cédric Fockeu (for his help with the initial CGI scripts and his hosting of the project), Don Blaheta (for his phonetic web font), Tomas Nemec (for YaTT and TTT), Trolltech (for the Qt Toolkit), Eirien Tuilinn (for inspiration).