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).