How the application looks and behaves is mainly dependent on the information contained in three configuration files. These files are in plain text format and can be viewed and edited with any plain text editor.
The configuration dialogs in the application read and update these files as appropriate.
Application stylesheet (default: application.css)
Controls the appearance of the widgets (menus, buttons, checkboxes, combo boxes etc).
Entry stylesheet (default: entry.css)
The appearance of the Lexicon entries themselves: fonts, colors etc
Settings (default: settings.ini)
Keyboard shortcuts, default settings for e.g. 'open in new tab', settings for the default printer, bookmarks, current open tabs etc.
Entries consist of key/value pairs grouped into sections.
The stylesheet files will look familiar to anyone who is acquainted with CSS. To quote from the software framework that is used to create the application:
the concepts, terminology, and syntax of Qt Style Sheets are heavily inspired by HTML Cascading Style Sheets (CSS) but adapted to the world of widgets.
For a full explanation of the options and the syntax the user should consult the Qt website. (Entering 'Qt 5.5 style sheet reference' into a search engine should help locate the details. As of the time of writing, this is a direct link to the relevant section of the website.)
A large number of the entries in the two stylesheets specify the font family and size; to assist with changing these entries without using a text editor, there is dialog Menu -> Tools -> Change font (See here for details). Changing the font using this method will change all font settings; for more fine-grained control manual editing is required. It should also be noted that font changer makes the following assumptions:
- all CSS selectors that specify Arabic font must have 'arabic' in their name
- all settings key/value pairs that specifiy Arabic, must have 'arabic' in their key
How the Lexicon is presented
When viewing a Lexicon entry what is presented is a sequence of HTML pages arranged vertically with one "page" for each headword. However, what is stored in the database that drives the application is not HTML but rather XML. (At heart, the same XML that was created by Perseus digitization project.)
An entry's XML is passed to a built-in processor that uses a set of rules specified in one of the configuration files ("entry.xslt") to convert it to HTML. The set of rules make up what is called an XSLT stylesheet.
After the XML has been converted to HTML for viewing, the CSS stylesheet is applied.
As a consequence, it is possible for the user to control both the appearance and the structure of the Lexicon entries by editing the XSLT stylesheet. This can be done using any text editor, although a dialog is provided to assist with the process.