Getting Malayalam Support in LyX (XeTeX/LaTeX)

LaTeX is a document preparation system. LaTeX uses markup to define structure of the document. LaTeX allows you to clearly separate the content from the format of your document. LaTeX gives high typographical quality for the documents especially for documents that are heavy on mathematics, but documents for any other area could also take advantage of these qualities.

“LyX is a document processor that encourages an approach to writing  based on the structure of your documents (WYSIWYM) and not simply their  appearance (WYSIWYG).” - LyX homepage

If you don't have time to learn how to use the markup language, and you have to create documents with LaTeX, What You See Is What You Mean (WYSWYM) TeX editors are helpful. LyX is commonly used as a GUI front-end for TeX. LyX is a popular open source word processor based on LaTeX typesetting.

Till last month (Febrary 2019), LyX haven't had support for Malayalam language. SMC managed to send a patch to the corresponding team to include that missing part - Malayalam language support.

LyX language settings wizard

By next release onwards, LyX with Malayalam support can be installed using package manager itself. But as of now, it won’t be available for public, but we can compile LyX from source and see how it works.

Requirements

The following has been tested on ArchLinux and Ubuntu 16.04 only. You will need a  Malayalam font installed. I’ve used Manjari for testing. You can download, install and use a handful of fonts under open license from  SMC website. You will also  need various developer packages to compile LyX successfully. Read the README and INSTALL files in the lyx folder for knowing about these.

Compiling

git clone git://git.lyx.org/lyx
cd lyx
./autogen.sh
./configure
make
make install

Running

$ lyx

Getting Malayalam

  • Create a new LyX document
  • Insert Malayalam text into it
  • Go to Document -> Settings -> Language and set Language to “Malayalam”
  • Go to Document -> Settings -> LaTeX Preamble and insert \setmainfont[HyphenChar="00AD]{Manjari}1
  • Document -> View PDF

Here’s a video demonstration

Akshay demonstrates LyX with Malayalam support.

Sample document

#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 567
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\begin_preamble
\setmainfont[HyphenChar="00AD]{Manjari}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language malayalam
\language_package default
\inputencoding auto
\fontencoding auto
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts true
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\float_placement class
\float_alignment class
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Title
തിരമൊഴി
\end_layout

\begin_layout Author
പി പി രാമചന്ദ്രൻ
\end_layout

\begin_layout Abstract
രേഖീയമായ തുടര്‍ച്ചയല്ല, അരേഖീയമായ പടര്‍ച്ചയാണ് തിരമൊഴിയുടെ ഘടന.
 വലക്കണ്ണികളെപ്പോലെ പരസ്പരബന്ധിതമായ പാഠങ്ങളേ തിരമൊഴിയിലുള്ളൂ.
 പിന്തുടര്‍ച്ചാസംസ്കൃതിയില്‍നിന്ന് (hierarchical culture) ശൃംഖലാസംസ്കൃതിയിലേക്കു
ള്ള (networked culture) സാമൂഹികപരിണാമത്തിന്റെ സൂചകം കൂടിയാണ് തിരമൊഴി.
\end_layout

\begin_layout Paragraph
ഭാഷയ്ക്ക് വാമൊഴിയെന്നും വരമൊഴിയെന്നും രണ്ടു വകഭേദങ്ങള്‍ എന്നാണ് ഭാഷാവിദ്യാര്‍ത്ഥ
ികളുടെ ആദ്യപാഠങ്ങളിലൊന്ന്.
 വാകൊണ്ടു മൊഴിയുന്നത് വാമൊഴി.
 വരച്ചുകാട്ടുന്നത് വരമൊഴി.
 കംപ്യൂട്ടറിന്റെ സഹായത്തോടെ ഭാഷയ്ക്കു ലഭിക്കുന്ന അധികമാനത്തെയാണ് ഇവിടെ തിരമൊഴി
 എന്ന പദംകൊണ്ട് വിവക്ഷിക്കുന്നത്.
 തിരയില്‍ കാണാവുന്നതും എഴുതാവുന്നതും വായിക്കാവുന്നതുമായ മൊഴി എന്നോ തിരപോലെ
 അസ്ഥിരവും രൂപാന്തരസാധ്യതകളുള്ളതുമായ മൊഴി എന്നോ തിരയാവുന്ന മൊഴി എന്നോ ഒക്കെ
 ഈ പദത്തിന് നിഷ്പത്തി പറയാം.
 ഇംഗ്ലീഷില്‍ Hypertext എന്ന പദം കൊണ്ട് അര്‍ത്ഥമാക്കുന്നത് മലയാളത്തില്‍ തിരമൊഴി
 എന്ന പദംകൊണ്ടും ഏറെക്കുറെ സാധിക്കാമെന്നു വിചാരിക്കുന്നു.
 ഭാഷയുടെ പരിണാമചരിത്രം സാങ്കേതികവിദ്യയുടെ പരിണാമചരിത്രംകൂടിയാണ്.
 വാമൊഴിയില്‍ നിന്ന് വരമൊഴിയിലേക്കും പിന്നീട് തിരമൊഴിയിലേക്കും അതു പരിണമിക്കുന്നു.
 വിവരസാങ്കേതികവിദ്യയുടെ സൃഷ്ടിയാണ് തിരമൊഴി.
 സമസ്തവിവരങ്ങളും ഡിജിറ്റല്‍ ആയി രേഖപ്പെടുത്താനും സൂക്ഷിക്കാനും വിതരണംചെയ്യാനും
 കഴിയുന്ന കാലത്തെ ഭാഷാസവിശേഷതയാണ്.
\end_layout

\end_body
\end_document

തിരമൊഴി.lyx - പി. പി രാമചന്ദ്രന്‍ എഴുതിയ തിരമൊഴി ലിക്സില്‍ ടൈപ്പ്സെറ്റ് ചെയ്തിരിക്കുന്നു. [ഡൌണ്‍ലോഡ്]

തിരമൊഴി - പി. പി രാമചന്ദ്രന്‍.pdf

Output of the above content can be accessed from wiki.

Uninstalling LyX

$ cd lyx
$ make uninstall

Final thoughts.

Test it yourself with your machine with other different operating systems and system configurations. In case of bugs, please let us know.

This was completed with inputs from Akshay S. Dinesh