18 December 2015

ODF_Templates@Groups.IO

Earlier today, I created the mailing list ODF_Templates@Groups.IO

The purpose of the list is to provide a single place all support issues related to the various templates that I have created. I will see anything sent to that mailing list.  The same thing can not be said for email sent to the email address I use for LibreOffice and Apache OpenOffice mailing lists.

All email sent to that list is publicly archived, and is visible to all and sundry.

For the time being, that list can be used to address issues with any template that was created in one of the following ODF file formats:
  • .OTT;
  • .OTS;
  • .OTP;
  • .OTG;
  • OTC;
  • .OTF;
  • .OTI;
  • .OTH;

30 November 2015

Project Management

Back in July I wrote a document about Extensions that claim to be useful for Project Management.  A PDF of that document can now be found at 
https://drive.google.com/file/d/0B-oHFbiOLcT3eUFTWVRrR1BzaTA/view?usp=sharing.


29 November 2015

Inglenook and TimeSaver Puzzles

In exploring how to abuse Calc, I created a spreadsheet to aid in setting up consists for playing either the Inglenook Puzzle, or the Timesaver Puzzle.  That spreadsheet can be found at https://app.box.com/s/lmq9hulgajvigp2vlqqsweixz7c3w0vn and https://drive.google.com/file/d/0B-oHFbiOLcT3NEpWVHZJRG52MGc/view?usp=sharing.

A description of the Inglenook Puzzle, and its rules can be found at http://wymann.info/ShuntingPuzzles/Inglenook/inglenook-rules.html.

A description of TimeSaver Puzzle, and its rules can be found at http://www.wymann.info/ShuntingPuzzles/sw-timesaver.html.

Along the way, I started a spreadsheet for scale modeling,
This spreadsheet can be found at
https://drive.google.com/file/d/0B-oHFbiOLcT3cFhva21PMnVrcEk/view?usp=sharing, and also at https://app.box.com/s/jra32owqnygajq9ejlelqc5oawgohlm5.


###

16 December 2015 Update.

An updated Inglenook.ots template can be found at
https://app.box.com/s/nmtxoj2m9yt2cxif5f3eguuz4bjxdhm4.  I changed the format so that TimeSaver and Inglenook conform to the "usual" rules. It also has a sidings, spurs, and mainline page, that create random consists, for other model railroad operations.

###

Modified on 2 December 2015 @19:11 UT.
Modification was changing link to Google Drive for Inglenook.ods.
Reason for modification: Original file was not shareable on Google Drive.

16 June 2015

Bang's RGB Colour Names

About three months ago, I stumbled across http://www.procato.com/rgb+index/.

That page has 678 colours, with what the site creator considers to be meaningful names. Over the weekend, I reduced it to a SOC file, for use in LibreOffice, Apache OpenOffice, and EuroOffice.

I've included it in my my standard palette, which can be downloaded from https://app.box.com/s/xfx3z7r9oo84ay8cw6bajvbvvopokedb

I think that https://app.box.com/s/hm5ogx4oxj97v3mzo4abbgb6ns9tn3e8 is correct.  I had a couple of minor issues --- mainly quotation marks that aren't --- when I first installed it.   (I originally created it with LibO 5.0 beta, with autocorrect quotation marks on.  Something that always results in errors, when editing any of the files in the /user/config/ directory )



24 March 2015

LibreOffice & Apache OpenOffice Password Recovery

* LibreOffice 3.4.5 and lower can write files whose password protection relies on Blowfish;
* LibreOffice 3.4.4 and lower can read files whose password protection relies on Blowfish;
* LibreOffice 3.4.5 and higher can read files whose password protection relies on AES-256;
* LibreOffice 3.5.0 and higher can write files whose password protection relies on AES-256;

* OpenOffice.org 3.3 and lower can read/write files  whose password protection relies on SHA1/Blowfish;
* Apache OpenOffice 3.4 and higher can read/write files whose password protection relies on SHA256/AES;

https://wiki.openoffice.org/wiki/User:TJFrazier/Encryption contains a transitional macro for AOo 3.4, to read SHA1/Blowfish encrypted documents.

The Crypto++ library contains routines for encrypting/decrypting blowfish, AES-256, and other algorithms for ciphers.

http://sourceforge.net/projects/ooomacros/files/PasswordCracker/
is an OOo extension/macro that brute forces passwords.
It was last updated in 2005, so it won't work with LibO 3.5.0, and higher, or AOo 3.4 and higher. I noticed that SourceForge didn't offer "Code" on the project components line, so source code might not be available.

http://archive09.linux.com/articles/61635 is an article from 2007 on breaking documents encrypted with OOo.

http://ringlord.com/dl/Decrypting%20ODF%20Files.pdf is an in-depth explanation of how to decrypt ODF File Format files.

One of the commercially distributed password recovery tools claims that the estimated time to recover a password are:
* 5 characters: 28 minutes;
* 6 characters: 44 hours;
* 7 characters: 174 days;
* 8 characters: 45 years;
I'm assuming the normal stupid password selection process that is typically used.

At 10,000 passwords per second, brute force for the 192 ASCII set of glyphs:
(This is run of the mill equipment.) 

Glyphs  Duration    Unit 
2 1.84 seconds;
3 5.90 minutes;
4 0.786 days;
5 21.57 weeks;
6 79.65 years;
7 1.53E+004 years;
8 2.94E+006 years;
9 5.64E+008 years;
10 1.08E+011 years;
11 2.08E+013 years;
12 3.99E+015 years;
13 7.66E+017 years;
14 1.47E+020 years;
15 2.82E+022 years;
16 5.42E+024 years;
17 1.04E+027 years;
18 2.00E+029 years;
19 3.84E+031 years;
20 7.37E+033 years;

At 1,000,000,000 passwords per second, brute force for the 192 ASCII set of glyphs:
(This is COTS hardware, albeit optimized for this specific task.) 

Glyphs  Duration    Unit
2 0.00 seconds;
3 0.00 seconds;
4 0.68 seconds;
5 130.46 seconds;
6 6.96 hours;
7 55.66 days;
8 29.36 years;
9 5.64E+003 years;
10 1.08E+006 years;
11 2.08E+008 years;
12 3.99E+010 years;
13 7.66E+012 years;
14 1.47E+015 years;
15 2.82E+017 years;
16 5.42E+019 years;
17 1.04E+022 years;
18 2.00E+024 years;
19 3.84E+026 years;
20 7.37E+028 years;

At 1,000,000,000 passwords per second, brute force for the 65536 Unicode Base Plane set of glyphs:
(This uses COTS hardware, albeit optimized for this specific task.) 

Glyphs  Duration    Unit 
2 2.15 seconds;
3 39.09 hours;
4 293.27 years;
5 1.92E+007 years;
6 1.26E+012 years;
7 8.25E+016 years;
8 5.41E+021 years;
9 3.55E+026 years;
10 2.32E+031 years;
11 1.52E+036 years;
12 9.98E+040 years;
13 6.54E+045 years;
14 4.29E+050 years;
15 2.81E+055 years;
16 1.84E+060 years;
17 1.21E+065 years;
18 7.91E+069 years;
19 5.18E+074 years;
20 3.40E+079 years;

At 10,000,000,000 passwords per second, brute force for the 65536 Unicode Base Plane set of glyphs:
(This uses COTS hardware, albeit somewhat specialized, and optimized for this specific task.)

Glyphs  Duration    Unit
2 0.21 seconds;
3 3.91 hours;
4 29.33 years;
5 1.92E+006 years;
6 1.26E+011 years;
7 8.25E+015 years;
8 5.41E+020 years;
9 3.55E+025 years;
10 2.32E+030 years;
11 1.52E+035 years;
12 9.98E+039 years;
13 6.54E+044 years;
14 4.29E+049 years;
15 2.81E+054 years;
16 1.84E+059 years;
17 1.21E+064 years;
18 7.91E+068 years;
19 5.18E+073 years;
20 3.40E+078 years;

Various things that can speed up the decryption time:
* Knowing some, or all of the password;
* Using good wordlists;
* Incorporating known mangling patterns into the software decryption process;
* Throwing more hardware at the password;
 
OpenWall sells a pretty good starting wordlist, for use with John The Ripper.
http://www.openwall.com/wordlists/. It will have to be modified, for use with any software that decrypts ODF formatted files. 
 

05 March 2015

LibreOffice or Apache Open Office?

Wandering into my inbox I found an email with a question:

> in my search I read that LibreOffice is better than OpenOffice...but it is not clear why!!??
  • The people at The Document Foundation would like LibreOffice (https://www.libreoffice.org/) to be used;
  • The people at The Apache Software Foundation would like Apache Open Office (http://www.openoffice.org/) to be used;
  • The people at MultiRáció Ltd. would like EuroOffice (http://www.multiracio.com/index.php) to be used;

So which one should be used?

It all depends upon what you use an office suite for. For the majority of use cases, it does not matter.  The end result is the same.

From a strictly objective POV, the biggest difference between those three programs, is that LibreOffice can read, write, and edit more file formats than the other two can. 

From an extremely subjective POV, the biggest difference is that Apache OpenOffice tolerates more "flakiness" within documents than the other two do.

Straddling the border of subjective, and objective, EuroOffice can handle more languages, and writing systems in a document, than the other two can.  It isn't just that it ships with language tools for half a dozen languages. The dictionary  toolbar provides "instant" translation of the word under the cursor.
It does, however, seem strange to me, that it includes a built-in grammar checker, but not spell checker, for Lithuanian.

Extensions created for the current version of LibreOffice, or Apache OpenOffice usually can be installed, and will work on the other.  These extensions can usually be installed, and will work under EuroOffice.

Extensions created for EuroOffice often rely on an API that currently is exclusive to EuroOffice. In its favour, MultiRáció has converted some of those extensions for LibreOffice and Apache OpenOffice.

Going by the A11Y tools on my system, all three are equally inaccessible. More pointedly, it demonstrates a crying need for an office suite that is designed from the ground up, specifically for individuals with accessibility requirements.

Licensing is either the most important, or least important issue.  It all depends upon what else is done with the office suite.

If your organization is going to customize the program, than the Apache License is the easiest to comply with, even if it makes no formal attempt to do so. Thus, Apache Open Office is the ideal choice.

If you want the ability to sue somebody, despite the license saying you can not do so (the standard non-FLOSS license), then MultiRáció and EuroOffice is the way to go.


The most important thing to know, is what the use-case is:
  • Do you really need an office suite?
  • Would a stand alone program be more suitable?
If your cyberlife consists of:
  • Dwelling in spreadsheets, perhaps Gnumeric is more suitable;
  • Writing scientific reports, perhaps a TeX solution is more suitable;
  • Creating pretty charts, perhaps R is more suitable;
  • Drawing pretty pictures, perhaps GIMP is more suitable;
  • Databases, then Python and SQLite, PostGres, or MariaDB is more suitable;
For anything more than a general answer, that fails to provide an answer, the only way to know what works best for any specific use case, is by testing the different programs out.

02 February 2015

LibreOffice 4.4 Language Support


General Language Support

Running down the languages listed in ">Tools >Options >Language Settings >Languages >Default Languages":

Western
  • [None];
  • Afrikaans (Namibia);
  • Afrikaans (South Africa);
  • Aka (Congo);
  • Akan;
  • Aragonese;
  • Armenian;
  • Asturian;
  • Azerbaijani (Latin);
  • Bambara;
  • Basque;
  • Beemba
  • Bekwel;
  • Belarusian;
  • Bosnian;
  • Breton;
  • Bulgarian;
  • Catalan;
  • Catalan (Valencian);
  • Chuvash;
  • Croatian;
  • Czech;
  • Danish;
  • Dibole;
  • Doondo;
  • Dutch (Belgium);
  • Dutch (Netherlands);
  • English: Sixteen locales are available;
  • Erzya;
  • Esperanto;
  • Estonian;
  • Éwé;
  • Faroese;
  • Finnish;
  • French: Fourteen locales are available;
  • Frisian;
  • Friulian;
  • Gaelic (Scotland);
  • Galician;
  • Ganda;
  • Gascon;
  • Georgian;
  • German: Six locales are available;
  • Greek;
  • Guaraní, Paraguayan;
  • Haitian;
  • Hausa (Ghana);
  • Hawaiian;
  • Hiligaynon;
  • Hungarian;
  • Icelandic;
  • Indonesian;
  • Interlingua;
  • Irish;
  • Italian (Italy);
  • Italian (Switzerland);
  • Kaamba;
  • Kabyle Latin;
  • Kalaallisut;
  • Kazakh;
  • Kinyarwanda (Rwanda);
  • Kirghiz;
  • Kituba;
  • Koonga (Congo);
  • Kunyi;
  • Kurdish, Northern (Turkey);
  • Ladin;
  • Lari;
  • Latgalian;
  • Latin;
  • Latvinian;
  • Lengo;
  • Lingala;
  • Lithuanian;
  • Lojban;
  • Low German;
  • Luxembourgish;
  • Macedonian;
  • Malagasy, Plateau;
  • Malay (Malaysia);
  • Maltese;
  • Mbochi;
  • Mongolian (Cyrillic);
  • Moore;
  • Ndebele, South;
  • Ngugwel;
  • Niyem (Congo);
  • Northern Sotho;
  • Norwegian, Bokmål;
  • Norwegian, Nynorsk;
  • Occitan;
  • Oromo;
  • Papiamento (Bonaire);
  • Papiamento (Curaçao);
  • Pitjantjatjara;
  • Polish;
  • Portuguese (Angola);
  • Portuguese (Brazil);
  • Portuguese (Portugal);
  • Puinave;
  • Puna;
  • Romanian (Romania);
  • Russian;
  • Ruysan (Slovakia);
  • Sango;
  • Sardinian;
  • Serbian Cyrillic (Montenegro);
  • Serbian Cyrillic (Serbia);
  • Shuswap;
  • Sidama;
  • Slovak;
  • Slovenian;
  • Somali;
  • Sorbian, Upper;
  • Southern Sutho;
  • Spanish: Nineteen locales are available;
  • Suundi;
  • Swahili (Tanzania);
  • Swazi;
  • Swedish (Finland);
  • Swedish (Sweden);
  • Tajik;
  • Tatar;
  • Teke-Eboo;
  • Teke-Ibali;
  • Teke-Kukuya;
  • Teke-Tyee;
  • Tigrigna (Eritrea);
  • Tok Pisin;
  • Tsaangi;
  • Tsonga;
  • Tswana (South Africa);
  • Turkish;
  • Turkeman;
  • Ukrainian;
  • Uzbek Latin;
  • Venda;
  • Vietnamese;
  • Vili;
  • Walloon;
  • Welsh;
  • Xhosa;
  • Yaka;
  • Yombe (Congo);
  • Zulu;
Asian:

This should be renamed CJKV.
  • [None];
  • Chinese (Hong Kong);
  • Chinese (Macau);
  • Chinese (Singapore);
  • Chinese (Simple);
  • Chinese (Traditional);
  • Japanese;
  • Korean (ROK);
For those who have the ability, and desire to compile their own version of LibreOffice, third party patches for the following are available:
  • Korean (DPRK);
  • toki pona (Korean);
Japanese support explicitly includes:
  • 片仮名 /  Katakana;
  • 平仮名 /  Hiragana;
  • 漢字 / Kanji;
and implicitly includes:
  • 変体仮名 / Hentaigana;
  • Rōmaji;
Ruby Presentation Markup Styles are used for furigana.

Currently,  chữ Nho is not supported as a primary writing system. The workaround is to use a Chinese (something) that one does not usually use.

CTL:

Technically this should be broken into three groups:

BiDi Writing Systems:
  • Arabic: Eight Locales are available; 
  • Hebrew;
  • Persian;
  • Yiddish
For Chaldean, and other ancient BiDi writing systems, the workaround is to use an Arabic variant that one does not usually use.

Indus Valley Writing Systems:
  • Bengali (Bangladesh);
  • Bengali (India);
  • Burmese;
  • Hindi;
  • Dzongkha;
  • Gujurati;
  • Kannada;
  • Khmer;
  • Lao;
  • Limbu;
  • Maithili;
  • Malayalam;
  • Marathi;
  • Nepali (Nepal);
  • Odia;
  • Punjabi;
  • Tamil;
  • Teluga;
  • Thai;
  • Tibetan (India);
  • Tibetan (China);
  • Urdu (Pakistan);
  • Ugyghur;
Other Writing Systems:
  • [None];
  • Amharic;
In looking at these breakdowns, I keep thinking that it would be much simpler to have three selections:
  • Language;
  • Writing System;
  • Locale;
One side effect of doing so, is that it makes proof reading, copy editing, and other general editing functions much easier, when using Braille, Moon, on another A11Y orientated writing systems.

Whilst this requires enabling support for Asian, CTL, and Western writing systems by default, doing so is not a disservice, because writing English requires all three to be enabled, for the appropriate typographical glyphs to be correctly displayed, and printed.

Spell Checking

Spell checkers won't tell one when « A Capella » is being incorrectly spelled as « A Cappella », and vice-versa.  One "p" is Latin.  Two is Italian. One "p" is sacred works sung in a chapel or other religious sanctuary. Nonetheless, they are useful at detecting incorrectly spelled words.

Spell checkers are listed under the highest version of LibreOffice that they have been verified to function correctly.  Listings are in order of "Newest".
(http://extensions.libreoffice.org/extension-center does not appear to offer the ability to sort by extension name.)

Browsing the Extensions, we find spell checkers available for the following languages:

LibreOffice 4.4

Five spell checkers:
  • Upper Sorbian;
  • Moore;
  • Breton;
  • Finnish;
  • Danish;
LibreOffice 4.3

Six spell checkers:
  •  Turkish;
LibreOffice 4.2

Eight spell checkers:
  • Ancient Greek;
  • English (New Zealand);
LibreOffice 4.1

Eight spell checkers:
  • Serbian (Cyrillic and Latin);
LibreOffice 4.0

Fourteen spell checkers:
  • Korean;
  • Tok Pisin;
  • Akan;
  • Bosnian;
  • Lithuanian;
LibreOffice 3.6

Fourteen spell checkers:
  • Arabic;
  • Catalan;
LibreOffice 3.5

Seventeen spell checkers:
  • Vietnamese;
  • Mongolian;
  • Spanish;
  • Portuguese (Portugal);
LibreOffice 3.4

Fifteen spell checkers, all of which are listed above.

LibreOffice 3.3

Sixteen spell checkers:
  • Lower Sorbian;
Updated Spell checkers
Spell checkers that are not updated, are spell checkers that contain incorrectly spelled words, and omit common words.

For the first dozen or so iterations of the Afrikaans spell checker, the words « die », and « ʼn » were omitted. Translated into English, that is « the » and « a ».

The first two or three iterations of the English (South Africa) spell checker include « color », whereas the correct spelling is « colour ».

The site claims twenty-one projects have updated dictionaries, but only the following are listed:

  • Akan;
  • Ancient Greek;
  • Arabic;
  • Bosnian;
  • Breton;
  • Danish;
  • English (New Zealand);
  • Finnish;
  • Korean;
  • Lithuanian;
  • Mongolian;
  • Moore;
  • Portuguese (Portugal);
  • Serbian (Cyrillic and Latin);
  • Spanish;
  • Tok Pisin;
  • Turkish;
  • Upper Sorbian;
  • Valencian Catalan;
  • Vietnamese;
    Available spell checkers
    Seventy-nine are listed on the extension page. I've listed them them from oldest to newest. Some of these have been updated a number of times.

    • Akan;
    • Albanian;
    • Ancient Greek;
    • Arabic;
    • Aragonese;
    • Asturian;
    • Belarusian;
    • Bosnian;
    • Breton;
    • Bulgarian;
    • Danish;
    • English (New Zealand);
    • English (South Africa);
    • English (US)(April 2011 List);
    • Faroese;
    • Finnish;
    • French;
    • Gaelic (Scottish);
    • Galego;
    • German (de-AT iGerman98);
    • German (de-AT);
    • German (de-CH iGerman98);
    • German (de-CH);
    • German (de-DE 1901);
    • German (de-DE Frami);
    • German (de-DE iGerman98);
    • Haitian Creole;
    • Hebrew;
    • Icelandic;
    • Indonesian;
    • Irish;
    • Italian & Latin;
    • Italian;
    • Kashubian: This one states outright that it is no longer maintained;
    • Khmer;
    • Kichwa (Ecuador);
    • Korean;
    • Latgalian;
    • Latin; 
    • Latvian;
    • Lithuanian;
    • Lower Sorbian;
    • Luxembourgish;
    • Malagasy;
    • Marathi;
    • Marshallese;
    • Mongolian;
    • Moore;
    • Norwegian (Bokmål and Nynorsk);
    • Portugal (Portuguese);
    • Portuguese (Brazil);
    • Portuguese (Portugal);
    • Russian;
    • Serbian (Cyrillic & Latin);
    • Shona (Zimbabwe);
    • Slovenian;
    • Spanish (Venezuela);
    • Spanish;
    • Swahili;
    • Swedish (Synlex);
    • Swedish Hyphenation;
    • Tamil;
    • Tibetan;
    • Tok Pisin;
    • Turkish;
    • Ukrainian;
    • Upper Sorbian;
    • Valencian Catalan;
    • Vietnamese;
    • Yiddish;
    Linguist can be abused to create a frequency list of all words used in a document. For proof reading, this is an easy way to avoid the "glazed over eyes" that results from creating the document that one is proof reading. It won't catch words used out of context, but it will pick out « Smith », « Smithe »,« Smythe », and « Smyth ». One virtue of this tool, is that it does not need a spell checker in the appropriate language.  Indeed, it was originally created as a tool to ease the process of constructing dictionaries in languages that lack them.

    Grammar Checking

    Grammar checkers are not a substitute for The King's English, or other books that provide the rules of grammar of the language one uses. Their virtue is that they usually catch repeated words, and incorrectly used punctuation.

    In addition to the built in grammar checking, one can install:
    • Grammalecte: This is a commercially distributed checker for French;
    • Lightproof Grammar Checker: This is for Russian;
    • Corrector Gramatical CoGrOO: This is for Portuguese (Brazil);;
    • After The Deadline: This is a web based grammar checker available for English, French, German, Portuguese, and Spanish. It does not know the difference between American English grammar rules and British English grammar rules;
    • Voikko: This is a spelling, hyphenation, and grammar checker for Finnish;
    • Magyar mondatellenőrző: This grammar checker is based on Lightproof, and optimized for Hungarian;
    The built-in grammar checker is Language Tool.

    The Language Tool Project claims some support for the following languages:

    • Asturian;
    • Belarusian;
    • Breton;
    • Catalan (Catalan, Valencian);
    • Chinese;
    • Danish;
    • Dutch;
    • English (Australian, Canadian, GB, New Zealand, South African, US);
    • Esperanto;
    • French;
    • Galician;
    • German (Austria, Germany, Swiss);
    • Greek;
    • Icelandic;
    • Italian;
    • Japanese;
    • Khmer;
    • Lithuanian;
    • Malayalam;
    • Persian;
    • Polish;
    • Portuguese (Brazil, Portugal);
    • Romanian;
    • Russian;
    • Slovak;
    • Slovenian;
    • Spanish;
    • Swedish;
    • Tagalog;
    • Tamil;
    • Ukrainian;
    Most, but not all of those languages are listed in the notes on http://extensions.libreoffice.org/extension-center/languagetool.

    For those for whom English is a second language, BetaGama, might be a useful tool. Not quite a grammar checker, but not quite a spell checker, what it does is look common errors made by non-native English users.

    Other Tools

    Punctuation, combining vowels, cantillation marks, and typographic adjustments are just some of the things that can be awkward to correctly place in text.

    Change Encoding

    B2U Convertor will ease the pain of converting between the various encodings used for Vietnamese to Unicode.

    Change Writing System

    OOoTranslit will convert Serbian between the Cyrillic and Latin writing systems. It can be used for other languages, but the results are not guaranteed to be accurate.

    From the Apache Open Office Project, we have:
    • Rupantar: Devangari to/from Latin Writing System;
    • XlitHindi: Hindi to/from Latin Writing System;
    I haven't yet tested these with LibO 4.4.

    Punctuation

    Correcteur terminologique fr: This helps one adjust the text to conform to the formal rules of French orthography and grammar.

    The following are listed in the Extensions Directory, but nothing is downloadable:
    • ChinesePunctuationTW;
    • ChinesePunctuationCn;
    RepublicOfChinaTaiwanChinesePunctuation Marks Toolbar: This is available for the Mac OS X operating system only.

    ChinesePunctuation Marks Toolbar: This makes it easy to add Chinese punctuation in all locales.

    Diacritic Marks, and the Like

    AncientGreek: As the project home page says "Editing Ancient Greek text has always been a burden". This eases the pain of editing Ancient Greek. Whilst not designed for Koine Greek, it is adequate for that task, provided the resulting work product is purely for personal consumption.

    Nakdan by Culmus: This enables one to easily place nikkud in the appropriate places. I'm waiting for somebody to release paragraph and character styles that have nikkud in one colour, cantillation marks in a second colour, and the letters in a third colour.

    As best as I can determine, no extension provides similar support for harakāt.

    Mathematics

    DMaths: As the description says: The Universal toolbox for mathematical content.

    TexMath: This provides LaTeX support for LibreOffice.