comment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*-

mlterm indic support


=== Unicode font version

Build mlterm with harfbuzz library and start it with -otl option since mlterm-3.6.2.

1) Build
 $ ./configure ...
 OpenType Layout                   : yes (harfbuzz)
 $ make; sudo make install

2) Configuation
~/.mlterm/aafont (for xft or cairo) or
~/.mlterm/font (for win32gdi, framebuffer and quartx)
 ISO10646_UCS4_1 = <TrueType font including indic glyphs>
 ("U+900-d7f = <TrueType font including indic glyphs>" is also avaialbe.)

~/.mlterm/main
 #use_ctl = true  # enabled by default
 use_ot_layout = true
 #type_engine = cairo  # cairo is the default value. xft is also available.


=== ISCII font version (Not available on MacOSX/Cocoa)

Following is a instruction of setting up mlterm indic support.

* Installation
  $ ./configure --enable-ind (--enable-anti-alias) (--with-gui=fb)
  $ make
  $ make install

  If you build mlterm without --enable-anti-alias, install xfstt in advance
  to specify true type fonts by XLFD.
  http://mlterm.sourceforge.net/BNDR0ntt.pcf (for bengali) and
  http://mlterm.sourceforge.net/DVYG0ntt.pcf (for hindi) are available instead.

  If you try bengali or assamese with --type=xft or --type=cairo option,
  execute following steps or rebuild fontconfig with
  http://mlterm.sourceforge.net/fontconfig-2.8.0-fix4indic.patch
  $ cd xwindow/libtype
  $ make libfc_wrapper.la
    (You may need to change <freetype.h> in fc_wrapper.c according to your environment.)
  $ make install_fc_wrapper
  $ chmod 755 (INSTALLED DIRECTORY)/bin/mlterm

  Then, install indic fonts to your system and setup ~/.mlterm/font,
  ~/.mlterm/aafont or ~/.mlterm/font-fb. (See font.indic, aafont, font.win32
  and font-fb in https://github.com/arakiken/mlterm/blob/master/etc/)
  Note that mlterm doesn't support modern OpenType fonts but supports
  following old ISCII fonts.

  Asdr0ntt.TTF for assamese (AS\-TTDurga)
  DVYG0ntt.ttf for devanagari (DV\-TTYogesh)
  DVSR0ntt.ttf for devanagari (DV\-TTSurekh)
  GJAV0ntt.ttf for gujarati (GJ\-TTAvantika)
  MLKR0ntt.ttf for malayalam (ML\-TTKarthika)
  ORSR0ntt.ttf for oriya (OR\-TTSarala)
  PNAM0ntt.ttf for pubjabi (PN\-TTAmar)
  BNDR0ntt.ttf for bengali (BN\-TTDurga)
  KNUM0ntt.ttf for kannada (KN\-TTUma)
  TLHM0ntt.ttf for telugu (TL\-TTHemalatha)
  TMVL0ntt.ttf for tamil (TM\-TTValluvar)

* Usage
  $ mlterm -E utf8 -w 16 --im=kbd:isciihindi --lsp 6 -C (--type=xft)

  o -E option specifies character encoding.
    "utf8" or "isciixxx"(like "isciihindi") are available.
  o -w [font size] specifies font size you want to use. (optional)
  o --im option specifies input method to be used. For ISCII use kbd input
    method.
  o --lsp [line space size] specifies pixels of line space according to appearance of
    a selected font. (optional)
  o -C enables rendering indic scripts.
  o --type=xft enables xft. --type=cairo is also available. (optional)
    This option is not necessary on win32gdi or framebuffer.
  o If console applications you use don't support combining characters, try -m=false.
  o Don't specify -bi option which disables rendering indic scripts.

  Pressing the key defined as IM_HOTKEY in ~/.mlterm/key lets you use ISCII
  inputting.
  IM_HOTKEY switches the loop Inscript => Phonetic => US ASCII => Inscript ...

  If you try indic scripts except devanagari, start mlterm with LD_PRELOAD as follows.
  $ sudo chmod 755 (INSTALLED DIRECTORY)/bin/mlterm
  $ LD_PRELOAD=(INSTALLED DIRECTORY)/lib/mlterm/libfc_wrapper.so mlterm ...

* Notice
  o Tamil is not supported.
  o We are not a native speaker and mlterm indic support itself may be still
    unstable.
    So if you find something strange or wrong about it, please report it without
    reservation to Mlterm-dev-en.
    (https://lists.sourceforge.net/lists/listinfo/mlterm-dev-en)

* Other resources
  (Mlterm with Indic support)
  https://gist.github.com/bdsatish/ab5a1b17b53c633a3edc
