Manjari 1.5 version released

A new version of Manjari typeface is available now. Version 1.5 is mainly a bug fix release.

In version 1.3, the build tooling of the project was changed from fontforge to fontmake. Two weeks back a few people reported that the font no longer works in MS Word and Wordpad. Font selector lists the font, but when selected, the content remains same. It works in all other applications without any issues. Because of that the bug went unnoticed.

Debugging the issue was not easy since font works everywhere else. I did a line by line diff of the ttx format(XML font format) of old and new version fonts.  Found that the OS/2 ulUnicodeRange, ulCodePageRange values were set to 0 in version 1.3.  Apparently these values are really checked by MS Word and Wordpad. If these are missing Wordpad and Word just rejects the font.  Correct values for these fields are set now.

New version 1.5 is available now. You can download the latest fonts from https://smc.org.in/fonts/#manjari

മലയാളത്തിലെ ‘ഉ’കാര ചിഹ്നങ്ങൾ

പരിഷ്കരിച്ച മലയാള ലിപിയാണല്ലോ ഇന്നു പാഠപുസ്തകത്തിലുള്ളതും വിദ്യാലയങ്ങളിൽ പഠിപ്പിക്കുന്നതും. അതുകൊണ്ടു തന്നെ ഔപചാരിക വിദ്യാഭ്യാസത്തിൽ മലയാളത്തിന്റെ തനതുലിപിയുടെ ശൈലീഭേദങ്ങൾ പരിചയിക്കുവനുള്ള അവസരം നമുക്കു കിട്ടാറില്ല. പക്ഷേ ചുമരെഴുത്തുകളിലും, ബസ്സിലെ ബോർഡുകളിലും, തനതുമലയാളം എഴുതിശീലിച്ച മുതിർന്നവരുടെ കയ്യെഴുത്തിലുമൊക്കെയായി ഈ ലിപിരൂപങ്ങൾ നമ്മുടെ മുന്നിലുണ്ടു താനും. ലിപിപരിഷ്കരണത്തിന്റെ ഭാഗമായി വേർപെട്ട കൂട്ടക്ഷരങ്ങൾ മിക്കതും തെറ്റുകളൊന്നുമില്ലാതെ നമ്മുടെ കയ്യെഴുത്തുകളിൽ അറിഞ്ഞോ അറിയാതെയോ കൂടിച്ചേരാറുണ്ട്. പക്ഷേ വേർപെട്ട ചിഹ്നങ്ങൾ, പ്രത്യേകിച്ച് ു, ൂ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേർത്തെഴുതുമ്പോൾ ശൈലികൾ  കൂടിക്കുഴഞ്ഞ് പോവുകയും ചെയ്യുന്നു. ചുവടെയുള്ള ചിത്രം നോക്കുക.

ഉ-ചിഹ്നങ്ങളുടെ ഉപയോഗം ചുമരെഴുത്തിൽ.

പച്ചയടയാളത്തിനുള്ളിൽ പരിഷ്കരിച്ച ലിപി, നീലയിൽ തനതു ലിപി എന്നിവ കാണാം. ചുവന്ന അടയാളമിട്ടു സൂചിപ്പിച്ചിരിക്കുന്നത്  മലയാളത്തിൽ പതിവില്ലാത്ത ശൈലിയാണ്. മലയാളത്തിലെ ഉകാര ചിഹ്നങ്ങൾ തന്നെ എട്ടുവിധമുണ്ട്. ഒട്ടും എഴുത്തുപരിശീലനം ഇല്ലെങ്കിൽ ഇത്തരം പിശകുകൾ കടന്നുകൂടുകതന്നെ ചെയ്യും.

ഈ ചിഹ്നങ്ങളും അവ വ്യഞ്ജനങ്ങളിൽ എങ്ങനെ ചേരുന്നുവെന്നും ചെറുതായി ഈ ലേഖനം പരിചയപ്പെടുത്തുന്നു. ഒപ്പം പഴയകാലങ്ങളിൽ ഇതെങ്ങനെയാണ് പരിചയപ്പെടുത്തിയിരുന്നതു് എന്നതു് ചില പ്രാചീന മലയാള പുസ്തകങ്ങളെ അടിസ്ഥാനമാക്കി വിശദീകരിക്കുന്നു.

തനതുലിപിയിലെ പലശൈലിയിലുള്ള ഉ-ചിഹ്നങ്ങൾ  ആവർത്തിച്ചു ചേർത്തുപയോഗിച്ചിരിക്കുന്നു.

സ്വരചിഹ്നങ്ങൾ മലയാളത്തിൽ

മുപ്പത്തിയേഴ് വ്യഞ്ജനാക്ഷരങ്ങളാണ് മലയാളത്തിനുള്ളത്, പതിനഞ്ചു സ്വരങ്ങളും (അത്ര പ്രചാരത്തിലില്ലാത്ത ൠ, ഌ, ൡ എന്നിവ ചേർത്താൽ 18). സ്വരാക്ഷരങ്ങൾ സ്വതന്ത്രമായി നിൽക്കുന്നത് പൊതുവിൽ വാക്കുകളുടെ തുടക്കത്തിൽ മാത്രമാണ്. അല്ലാത്തപ്പോഴെല്ലാം വ്യഞ്ജനശബ്ദങ്ങളെ പരിഷ്കരിച്ചുകൊണ്ട് അവയോട് ചേർന്നു നിൽക്കും. ഇങ്ങനെ ചേർന്നുനിൽക്കുന്നത് സ്വരാക്ഷരങ്ങളല്ല, മറിച്ച് അവയെക്കുറിക്കുന്ന സ്വരചിഹ്നങ്ങളാണ്. സ്വരചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേരുമ്പോഴുണ്ടാകുന്ന ലിപിരൂപങ്ങളുടെ വൈവിദ്ധ്യം മലയാളത്തിന്റെ ഒരു സവിശേഷതയാണ്. സ്വരചിഹ്നങ്ങൾ വ്യഞ്ജനങ്ങളുടെ ഇടതും വലതും ഒക്കെയായി വിന്യസിക്കപ്പെടും. പട്ടിക കാണുക.

മലയാളത്തിലെ സ്വരാക്ഷരങ്ങൾ, സ്വരചിഹ്നങ്ങൾ.

പട്ടികയിൽ കാണുന്നതുപോലെ  ു, ൂ, ൃ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടൊട്ടിനിന്ന് അവയുടെ രൂപത്തെത്തന്നെ മറ്റുന്നു. മലയാളലിപികൾ 1971ൽ പരിഷ്കരിക്കപ്പെട്ടതിനു ശേഷമാണ് വ്യഞ്ജനത്തിന്റെ വലതുഭാഗത്തു വേർപെട്ടുനിൽക്കുന്ന വിധത്തിൽ ഈ ചിഹ്നങ്ങൾ പ്രചാരത്തിലായത്. പരിഷ്കരിച്ച ലിപിയിൽ ഈ ചിഹ്നങ്ങൾക്കു വേറിട്ട വിധത്തിലുള്ള രൂപങ്ങൾ മാത്രമേയുള്ളൂ. 5, 6, 7 വരികളിലായി ഇതും പട്ടികയിൽ കാണാം.

ു, ൂ ചിഹ്നങ്ങൾ എങ്ങനെയൊക്കെ വ്യഞ്ജനത്തോടു ചേരാം?

സ്വരങ്ങളിലെ ചിഹ്നരൂപങ്ങളിൽ ഏറ്റവും വ്യത്യസ്തമായ ശൈലികളിൽ വ്യഞ്ജനത്തോടു ചേരുന്നത് ‘ു’, ‘ൂ’ ചിഹ്നങ്ങളാണ്. ചേരുമ്പോൾ വ്യഞ്ജനത്തിന്റെ രൂപത്തെത്തന്നെ അവ മാറ്റുകയും ചെയ്യും. ഓരോ വ്യഞ്ജനത്തിലും ഈ ചിഹ്നം വരുത്തുന്ന മാറ്റം വ്യത്യസ്തമാണ്. ഒരുപക്ഷേ ലിപി പരിണമിച്ചു വന്നപ്പോൾ  ഉണ്ടായ മാറ്റമാകാം ഇതിനു കാരണം. ഉ, ഊ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേരുമ്പോഴുള്ള ശൈലീവ്യതിയാനങ്ങൾ തനതുലിപിയിൽ ആകെ എട്ടു വിധത്തിലാകാം.  അവ ക്രോഡീകരിക്കികയാണ് ഇവിടെ.

 

മലയാളത്തിലെ ഉ-ചിഹ്നങ്ങൾ
  • ഉകാരം വ്യഞ്ജനത്തോടു ചേരുമ്പോൾ നാലുവിധത്തിലുള്ള മാറ്റങ്ങൾ വ്യഞ്ജനാക്ഷരങ്ങൾക്കു വന്നുചേരുന്നു.
  • ക, ര ഇവയോടു ഉകാരം ചേരുമ്പോഴുള്ള രൂപവ്യതിയാനം കുനിപ്പ് എന്ന പേരിൽ ചിത്രത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്നു. ഈ രണ്ട് അക്ഷരങ്ങൾക്കും പിന്നെ കാരത്തിലവസാനിക്കുന്ന  എല്ലാ കൂട്ടക്ഷരങ്ങൾക്കും ഇതു ബാധകമാണ്. ങ്ക, ക്ക, സ്ക, സ്ക്ക ഇവയെല്ലാം അതിൽപ്പെടുന്നു. കാരത്തിൽ അവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കായി പ്രത്യേകചിഹ്നമുള്ളതുകൊണ്ട് അവിടെ ഒരിക്കലും കുനിപ്പുപയോഗിക്കേണ്ടി വരികയില്ല.
  • ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ -ഇവയോട് ഉകാരം ചേരുമ്പോഴുള്ള  ശൈലി  ഇടത്തേയ്ക്കുനീണ്ടു വലത്തോട്ടു തിരിച്ചുവരുന്ന ഒരു വാല് രൂപമാണ്. ഈ അക്ഷരങ്ങളിലവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കും ഈ രീതി തന്നെയാണ് പിന്തുടരുക.
  • ണ, ന എന്നിവയോട് ഉകാരം ചേരുമ്പോൾ ഉണ്ടാകുന്ന രൂപവ്യതിയാനം ഉള്ളിലേയ്ക്കുള്ള ഒരു ചുരുട്ടാണ്. ഈ അക്ഷരങ്ങളിലവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കും ഇതു ബാധകമാണ്. ഉദാഹരണത്തിന് ണ്ണ, ന്ന, ക്ന ഇവയൊക്കെ.
  • മറ്റു് 24 വ്യഞ്ജനാക്ഷരങ്ങളും ഉപയോഗിക്കുന്നത് ചുഴിപ്പ്/കുണുക്ക് എന്ന രൂപമാണ് . ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ശൈലി ഇതായതു കൊണ്ടു തന്നെ എല്ലാവ്യഞ്ജനങ്ങൾക്കും ഈ ശൈലി പകർത്തിയുപയോഗിക്കുക എന്ന പിഴവ് വളരെ വ്യാപകമായി കാണാറുണ്ട്. ഇതുതന്നെയാണ് ആദ്യത്തെ ചുമരെഴുത്തിൽ ചുവന്ന അടയാളത്തിൽ കാണിച്ചിരിക്കുന്നതും.
മലയാളത്തിലെ ഊ-ചിഹ്നങ്ങൾ

ഊകാരം വ്യഞ്ജനത്തോടു ചേരുമ്പോളും നാലുവിധത്തിലുള്ള മാറ്റങ്ങൾ വ്യഞ്ജനാക്ഷരങ്ങൾക്കു വന്നുചേരുന്നു.

  • ക, ഭ, ര, ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ  ഇവയുടെ ഊകാര ചിഹ്നങ്ങൾ രണ്ടുവിധത്തിൽ ഉണ്ടാകാം: കുനിപ്പിട്ട വളപ്പുരൂപവും കുനിപ്പിട്ട വാലുരൂപവും.
    • കുനിപ്പിനുശേഷം അക്ഷരത്തെച്ചുറ്റി ഇടത്തേയ്ക്ക് വളഞ്ഞുപോകുന്നതാണ് കുനിപ്പിട്ടവളപ്പ്. കുനിപ്പിനു ശേഷം ഇടത്തേയ്ക്കുപോയി വലത്തേയ്ക്കു തിരിച്ചുവരുന്നതാണ് കുനിപ്പിട്ടവാല്.
    • ക, ര, ഭ എന്നിവയ്ക്ക് കുനിപ്പിട്ടവളപ്പാണ് ഇന്നുകൂടുതൽ പ്രചാരത്തിലുള്ളത്
    • ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ ഈ അക്ഷരങ്ങൾക്ക് കുനിപ്പിട്ട വാല് രൂപവും. ചിത്രത്തിൽ ആദ്യം സൂചിപ്പിച്ചിരിക്കുന്നത് ഇതാണ്.
  • ചുരുട്ട് പുറത്തേയ്ക്ക് നീട്ടുന്ന ചുരുട്ടുവാല് എന്നു പേരിടാവുന്ന രൂപമാണ് ന, ണ എന്നീ അക്ഷരങ്ങളുടെ ഊകാരരൂപങ്ങൾ.
  • മറ്റു വ്യഞ്ജനങ്ങൾ 24 എണ്ണവും ഇരട്ടച്ചുഴിപ്പായി വ്യഞ്ജനങ്ങളോട് ചേരുന്നു. ഇതും എല്ലാ വ്യഞ്ജനത്തിനുമുള്ള പൊതുരൂപമായിക്കരുതി പിഴവുവരുത്തുന്നതും സാധാരണമാണ്.

കുറിപ്പ്: ചിഹ്നത്തിന്റെ രൂപങ്ങൾക്ക് പൊതുവായ പേരുകൾ കണ്ടെത്താൻ സാധിക്കാത്തതിനാൽ ലേഖിക തന്നെ ഇട്ട പേരുകളാണ്   കുനിപ്പ്, ചുഴിപ്പ്, ചുരുട്ട്, വാല് എന്നിവ. പകരം വേറെ പേരുകളുണ്ടാവാം.

‘ഉ’കാരചിഹ്നങ്ങൾ പ്രാചീനലിപിപാഠങ്ങളിൽ

ആധുനിക പാഠപുസ്തകങ്ങളിൽ നിന്ന് ഈ ലിപിരൂപങ്ങൾ പരിചയപ്പെടുവാൻ സാധിക്കില്ല. പക്ഷേ പ്രാചീന ലിപിപാഠപുസ്തകങ്ങൾ പലതിലും വളരെ വിശദമായി ഇവയെ വിവരിക്കുന്നുണ്ടു താനും. കയ്യെഴുത്തുപ്രതികളിൽ നോക്കിയാലാണ് ലിപിശൈലികളുടെ യഥാർത്ഥ ചിത്രം വ്യക്തമാകൂ. അച്ചടി പലതിനേയും മാനകീകരിക്കുമ്പോൾ വൈവിധ്യം നഷ്ടമായിട്ടുമുണ്ടാകും.

മലയാളലിപികൾ ആണിയച്ചുകളായി(movable types, ജംഗമാച്ചുകൾ) ആദ്യം അച്ചടിക്കപ്പെടുന്നത് റോമിൽ 1772 ലാണ്. ഫാദർ ക്ലെമന്റ് പിയാനിസ് തയ്യാറാക്കിയ ‘ആൽഫബെത്തും ഗ്രന്ഥോനിക്കോ മലബാറിക്കും‘ എന്ന ഈ ലത്തീൻ പുസ്തകം പാശ്ചാത്യമിഷനറിമാർക്ക് മലയാളലിപികൾ പഠിക്കാനുതകുന്ന വിധത്തിൽ തയ്യാറാക്കിയതായിരുന്നു. ഇതേ അച്ചുകളുപയോഗിച്ചാണ് ആദ്യ സമ്പൂർണ്ണമലയാളപുസ്തകമായ സംക്ഷേപവേദാർത്ഥം പിന്നീട് അച്ചടിക്കുന്നത്.

ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം ഉ-ചിഹ്നങ്ങളെപ്പറ്റി പ്രതിപാദിക്കുന്ന ഭാഗം

‘മലയാളത്തിലെ ‘ഉ’, ‘ഊ’ ചിഹ്നങ്ങളുടെ വൈവിധ്യത്തെക്കുറിച്ച് ‘ആൽഫബെത്തും ഗ്രന്ഥോനിക്കോ മലബാറിക്കും’ വിശദമായി പ്രതിപാദിക്കുന്നുണ്ട്. ഈ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷ, വിശദീകരണങ്ങളോടു കൂടി ഫാദർ ഇമ്മനുവേൽ ആട്ടേൽ രചിച്ചത് നമുക്കിന്ന് ലഭ്യമാണ്. മേൽപ്പറഞ്ഞ രൂപങ്ങളിൽ പലതും അതിൽ നമുക്കു കാണാം. അദ്ദേഹത്തിന്റെ വിശദീകരണത്തിൽ മലയാളത്തിലെ ഊകാരങ്ങൾക്ക്  നാമിന്നു മനസ്സിലാക്കുന്ന കുനിപ്പിട്ടവാല് എന്ന രൂപമില്ല. ക, ഗ, ഛ, ജ, ത, ശ, ഹ, ര, ഭ ഇവയെല്ലാം കുനിപ്പിട്ട വളപ്പ് രൂപത്തിലാണ്. രകാരത്തിനു മേൽ ‘ൂ’ ചിഹ്നം ചേരുമ്പോൾ വാലുരൂപത്തിലാണെങ്കിൽ കുറച്ചുകൂടി വ്യക്തത വന്നേനെ എന്നൊരു അഭിപ്രായവും അദ്ദേഹം പ്രകടിപ്പിക്കുന്നുണ്ട്. ചുരുട്ടുവാല്, ചുഴിപ്പ് രൂപങ്ങളെല്ലാം അതേപോലെ തന്നെ അന്നും ഉപയോഗിച്ചിരുന്നു. ആ പുസ്തകത്തിലെ ര,ത ഇവയുടെ രൂപങ്ങൾ ഇന്നത്തേതിൽ നിന്നും നല്ല വ്യത്യാസമുണ്ടായിരുന്നെന്നു കൂടി ശ്രദ്ധിക്കണം. അതുകൊണ്ടുതന്നെ രൂ, തൂ ഇവ രണ്ടും വളപ്പിട്ടെഴുതിയാലും തമ്മിൽ മാറിപ്പോകുകയില്ല.

ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം എന്ന ലത്തീൻ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷയിൽ നിന്നും
ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം എന്ന ലത്തീൻ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷയിൽ നിന്നും

1800കൾക്കും മുമ്പ് മലയാളം പഠിച്ച് ഒരു വിദേശിയെഴുതിയ പാഠപുസ്തകത്തിലെ വിശദീകരണമാണിത്, അച്ചടിക്കപ്പെട്ട ആദ്യ മലയാള അക്ഷരമാലാപാഠപുസ്തകത്തിലേതും.

പിന്നീട് മലയാളലിപി പാഠപുസ്തകത്തിനു സമാനമായി അവതരിപ്പിക്കുന്നത് 1863ൽ റെവ. ജോർജ്ജ് മാത്തനാണ്. ചുഴിപ്പു ചേർന്ന ‘ഉ’കാരചിഹ്നങ്ങൾ പൊതുരൂപമായും മറ്റുള്ളവയെ ഒരു അപവാദം എന്ന നിലയിലുമാണ് അദ്ദേഹം അവതരിപ്പിക്കുന്നത്(ചിത്രം കാണുക). ഊ ചിഹ്നത്തിന്, ക, ഗ, ഛ, ജ, ത, ശ, ഹ, ര, ഭ  ഇവയോടൊപ്പം  കുനിപ്പിട്ട വാല്, കുനിപ്പിട്ട വളപ്പ് എന്നീ രൂപങ്ങളിൽ ഏതുമാകാം എന്നാണ് മാത്തന്റെ “മലയാഴ്മയുടെ വ്യാകരണം” എന്ന പുസ്തകം പറയുന്നത്.

റവറന്റ് ജോർജ്ജ് മാത്തന്റെ മലയാള വ്യാകരണ പുസ്തകത്തിൽ നിന്ന്

 

 

റവറന്റ് ജോർജ്ജ് മാത്തന്റെ മലയാള വ്യാകരണപുസ്തകത്തിൽ നിന്നും

രണ്ടു നൂറ്റാണ്ടുകൾക്കുമുമ്പ്, അച്ചടി സാങ്കേതികവിദ്യയിലൂടെ ഭാഷയുടെ ആദ്യകാല വളർച്ചയ്ക്കു വഴിതുറന്നവർ മലയാളത്തിന്റെ  ലിപിരൂപങ്ങളെക്കുറിച്ചു വിവരിച്ചതാണ് നമ്മൾ കണ്ടത്. എഴുത്തുരൂപത്തിലെ വൈവിദ്ധ്യത്തെ മുഴുവനും അച്ചുകളിലേയ്ക്ക് അവർ കൊണ്ടുവരാൻ ശ്രമിയ്കുകയും ചെയ്തു.

1971ലെ ലിപിപരിഷ്കരണത്തിന്റെ ലക്ഷ്യം സാങ്കേതികപരിമിതികളെ അതിജീവിയ്ക്കുവാനായി ലിപിയുടെ ലളിതവൽക്കരണമായിരുന്നു. പക്ഷേ അതിന്റെ ഫലമായി നിലനിൽക്കുന്ന രൂപങ്ങളെക്കൂടാതെ വേർപെട്ടുനിൽക്കുന്ന ഒരു പുതിയ ശൈലികൂടി കടന്നുവരികയാണുണ്ടായത്. അതുവരെ നിലനിന്ന രൂപങ്ങളെ പൊടുന്നനെ ഇല്ലതാക്കാൻ ആവില്ലല്ലോ. പരിചയക്കുറവും പരിശീലനക്കുറവും കൊണ്ട് ഏത്ചിഹ്നരൂപം ഏത് വ്യഞ്ജനത്തിനൊപ്പം ചേരുമെന്ന ആശയക്കുഴപ്പം ഭാഷ ഉപയോഗിക്കുന്നവരിൽ വ്യാപകമാവുകയും ചെയ്തു.

Stylistic Alternates for ച്ച, ള്ള in Manjari and Chilanka fonts

The ligatures for the Malayalam conjuncts ച്ച, ള്ള have less popular variants as shown below

The second form is not seen in print but often in handwritten Malayalam. I have seen it a lot in bus boards especially at Thiruvananthapuram. There are no digital typefaces with the second style, except the Chilanka font I designed. It uses the second variant of ച്ച. I got lot of appreciation for that style variant, but also recieved request for the first form of ച്ച. I had a private copy of Chilanka with that variant and had given to whoever requested. I also recieved some requests for the second style of ള്ള. For the Manjari font too, I recieved requests for second variant.

Today I am announcing the new version of Manjary and Chilanka font, with these two forms as optional variants without the need for a different copy of a font. In a single font, you will get both these variants using the Opentype stylistic alternatives feature.

The default styles of ച്ച and ള്ള are not changed in new version. The fonts comes with an option to chose a different form.

Choosing the style for webfonts using CSS

Use the font-feature-settings CSS style to choose a style. For the element or class in the html, use it as follows:

For style 1:

font-feature-settings: "salt" 1;

For style 2:

font-feature-settings: "salt" 2;

Choosing the style variant in LibreOffice

In the place of the font name in font selector, append :salt=1 for first style, :salt=2 for second style. So you need to give Manjari Regular:salt=2 as the font name for example to get second style.

Choosing the style variant in XeLaTeX

fontspec allows to choose alterate style variants. Use Alternate=N syntax. Note that N starts from 0. So for style1, use Alternate=0 and for style2 use Alternate=2. Refer section 2.8.3 of fontspec documentation.

\documentclass[11pt]{article}
\usepackage{polyglossia}
\newfontfamily{\manjari}[Script=Malayalam]{Manjari}
\begin{document}

\manjari{\addfontfeature{Alternate=1}കാച്ചാണി, വെള്ളയമ്പലം}

\end{document}

This will produce the following rendering:

Choosing the style variant in Inkscape

Inkscape font selection dialog has a feature to chose font style variants. It uses the property values of CSS font-feature-settng.

In Adobe, Indesign, selecting the ligature will give stylistic alternative(s) if any to choose.

Updated fonts

Updated fonts are available in SMC’s font download microsite https://smc.org.in/fonts

Number spellout and generation in Malayalam using Morphology analyser

Writing a number 6493 as six thousand four hundred and ninety three is known as spellout of that number. The most familiar example of this is in cheques. Text to speech systems also need to convert numbers to words.

Source: https://commons.wikimedia.org/wiki/File:Sample_cheque.jpeg by User:Tshrinivasan

The reverse process of this, to convert a phrase like six thousand four hundred and ninety three to number 6493 – the number generation, is also common. In software, it is often required in Speech recognition and in general any kind of semantic analysis of text.

Numbers and its conversion to English words is not really a complex problem to solve with a computer. But how about other languages? In this article, I am discussing the nature of these words in Malayalam and an approach to parse the number and numbers written in words.

Malayalam number spellout

In Malayalam, the spellout of numbers forms a single word. For example, a number 108 is നൂറ്റെട്ട് – a single word. This word is formed by adjective form of നൂറ്(100) and എട്ട്(8). While these two words are glued, Malayalam phonological rules are also applied, resulting this single word നൂറ്റെട്ട്. This word formation characteristics are present for almost all possible numbers you can imagine. Parsing the number നൂറ്റെട്ട് and interpreting it as 108 or converting 108 to നൂറ്റെട്ട് is an interesting problem in Malayalam computing.

I came across this problem while I was trying to develop a dictionary based spellchecker years back. Such a dictionary should have all these single words for all possible numbers, right? Then how big it will be? Later when I was researching on Malayalam morphology analyser, I again encountered this problem. You cannot have all these words in lexicon as entries – it is not practical. At the same time, you should be able to parse these words and and also generate with correct morpho-phonological rules of Malayalam.

Like I mentioned in my introduction article of my Malayalam morphological analyser,  project, Malayalam is a heavily agglutinative language. While I was learning the Finite transducer technology, Malayalam number words were one of the obvious candidates to try out. These numbers perfectly model Malayalam word formations. They get agglutinated and inflected, during which morpho-phonological rules get applied. നൂറ്റെട്ടിലായിരുന്നു, നൂറ്റെട്ടിനെ, നൂറ്റെട്ടോ? നൂറ്റെട്ടാം, നൂറ്റെട്ടാമത്തെ, നൂറ്റെട്ടര  – All are examples of words you get on top number word നൂറ്റെട്ട്. Also, it is not two word agglutination, പതിനാറായിരത്തൊരുനൂറ്റെട്ട് – 16108 is an example where പതിനാറ്(16), ആയിരം(1000), നൂറ്(100), എട്ട്(8) – all joined to form a single word. In fact this is a common word you often see in literature because of this myth about Lord Krishna. The current year, 2017 is often written as രണ്ടായിരത്തിപ്പതിനേഴ്.

Let us examine a nature of these word formation.

Ones

Numbers between 0 and 9 has words as പൂജ്യം, ഒന്ന്, രണ്ട്, മൂന്ന്, നാല്, അഞ്ച്, ആറ്, ഏഴ്, എട്ട്, ഒമ്പത് respectively. The word ഒമ്പത് is sometimes written as ഒൻപത് too, which is phonetically similar to ഒമ്പത്. Each of these words ending with Virama(്) is sometimes written with Samvruthokaram too. ഒന്ന് – ഒന്നു്, രണ്ടു്, മൂന്നു്, നാലു് etc.

Tens

Number 10 is പത്ത്. Multiples of tens till 80 follows the rough pattern:

Adjective form of [രണ്ട്|മൂന്ന്|നാല്|അഞ്ച്|ആറ്|ഏഴ്|എട്ട്] + പത്.

So, they are ഇരുപത്(20), മുപ്പത്(30), നാല്പത്(40), അമ്പത്(50), അറുപത്(6), എഴുപത്(70), എൺപത്/എമ്പത്(80). But at 90, a new form emerges – തൊണ്ണൂറ് – Which has no root on ഒമ്പത് (9). Instead it is more like something before നൂറ്(100).

The numbers 11-19 are unique words. പതിനൊന്ന്, പന്ത്രണ്ട്, പതിമൂന്ന്, പതിനാല്, പതിനഞ്ച്, പതിനാറ്, പതിനേഴ്, പതിനെട്ട്, പത്തൊമ്പത് respectively.

All other two digit numbers between the multiples of tens follow the following pattern

[Word for 10x] + [Word for Ones]

So, 21 is ഇരുപത്(20)+ ഒന്ന്(1). But to form a single word, An adjective form is used, which is similar to female gender inflection of Malayalam nouns- ഇരുപത്തി + ഒന്ന് . Phonological rules should be applied to combine these two words. The vowel sign ി(i) at the end of ഇരുപത്തി  will introduce a new consonant യ(ya). Also the first letter of ഒന്ന് – the vowel ഒ will change to its vowel sign form ൊ. So we get ഇരുപത്തി + യ + ൊന്ന്. It results ഇരുപത്തിയൊന്ന്. This phonological rule is actually Agama Sandhi / ആഗമ സന്ധി as per Malayalam grammer rules. But, ഇരുപത്തിയൊന്ന് has a more propular form, ഇരുപത്തൊന്ന് which is generated by dropping ി + യ from the generation process.

The words for 20s can be generated similarly. ഇരുപത്തിരണ്ട്(22), ഇരുപത്തിമൂന്ന്(23), ഇരുപത്തിനാല്(24),  ഇരുപത്തിയഞ്ച്/ഇരുപത്തഞ്ച്(25), ഇരുപത്തിയാറ്/ഇരുപത്താറ്(26), ഇരുപത്തിയേഴ്/ഇരുപത്തേഴ്(27), ഇരുപത്തിയെട്ട്/ഇരുപത്തെട്ട്(28), ഇരുപത്തിയൊമ്പത്/ഇരുപത്തൊമ്പത്(29). For all other two digit numbers the pattern is same. Note that തൊണ്ണൂറ് (90) has the prefix form തൊണ്ണൂറ്റി. So 98 is തൊണ്ണൂറ്റിയെട്ട്/തൊണ്ണൂറ്റെട്ട്.

Hundreds

100 is നൂറ്. Its prefix form is നൂറ്റി. Multiples of 100s is somewhat similar to multiples of 10s we saw above. They are ഇരുന്നൂറ്(200), മുന്നൂറ്(300), നാനൂറ്(400), അഞ്ഞൂറ്(500), ആറുനൂറ്(600), എഴുന്നൂറ്(700), എണ്ണൂറ്(800), തൊള്ളായിരം(900). Here also the 900 deviates from others. The word is related to 1000(ആയിരം) than 100 – Just like the case of 90-തൊണ്ണൂറ് we discussed above.

Forming 3 digits numbers is, in general the prefix of multiple of hundred followed by Tens we explained above. So 623 is അറുനൂറ് + ഇരുപത്തിമൂന്ന്  = അറുനൂറ്റിയിരുപത്തിമൂന്ന് or the more popular and short form അറുനൂറ്റിരുപത്തിമൂന്ന്. 817 is എണ്ണൂറ്റി+ പതിനേഴ് = എണ്ണൂറ്റിപ്പതിനേഴ് with gemination of consonant പ as per phonological rule. 999 is തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയൊമ്പത് or തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റൊമ്പത്  or തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയൊൻപത്.

Numbers between 100-199 may optionally prefixed by ഒരു – Adjective form of ഒന്ന്(1).  101 – ഒരുന്നൂറ്റിയൊന്ന് 122-ഒരുന്നൂറ്റിയിരുപത്തിരണ്ട് etc. നൂറ്(100) can be also ഒരുന്നൂറ്

Thousands

1000 is ആയിരം. ആയിരത്തി is prefix for all other 4 digit numbers till 1 lakh(ലക്ഷം 100000). Multiples of 1000 can be generated by suffixing ആയിരം. For example, 4000  is നാല് + ആയിരം = നാലായിരം. 6000 – ആറായിരം. But 5000 is അയ്യായിരം, and അഞ്ചായിരം is less popular version. 8000 is എട്ട് + ആയിരം = എട്ടായിരം, but എണ്ണായിരം is popular form.  10000 is പത്ത് + ആയിരം = പത്തായിരം. But പതിനായിരം is the more familiar version. പതിനായിരം is the suffix for multiples of 10K. They are ഇരുപതിനായിരം, മുപ്പതിനായിരം, നാല്പതിനായിരം, അമ്പതിനായിരം, അറുപതിനായിരം, എഴുപതിനായിരം, എൺപതിനായിരം, തൊണ്ണൂറായിരം. 3000 is മുവ്വായിരം than മൂന്നായിരം. So 73000 is എഴുപത്തിമുവ്വായിരം or എഴുപത്തിമൂന്നായിരം.

Numbers between 1000-1999 may optionally prefixed by ഒരു – Adjective form of ഒന്ന്(1).  1008 – ഒരായിരത്തിയെട്ട് 1122-ഒരായിരത്തിയൊരുന്നൂറ്റിയിരുപത്തിരണ്ട് etc. ആയിരം(1000) can be also ഒരായിരം.

Lakhs & Crores

100, 000 is ലക്ഷം. ലക്ഷത്തി is prefix. 1,00, 00, 000 is കോടി. കോടി itself is prefix. 12,00,90 is  പന്ത്രണ്ടുലക്ഷത്തിത്തൊണ്ണൂറ്. 99,00,00,00,00,00,00 is തൊണ്ണൂറ്റൊമ്പതുലക്ഷംകോടി.

Why morphology analyser?

From the above explanation of word formation for numbers in Malayalam, one can see that there are patterns and there are lot of exceptions. But still, isn’t it possible to write a generator using just a rule based program in a programming language. I  would agree. Yes, it is possible. But other than mapping these numbers to word forms, handling exceptional rules, there are a few other things also we saw. When words are agglutinated, there are phonological rules in action. Also, I said that these words can be inflected again. We also want the bidirectional conversion – not just word generation, but converting those words back into a number. All these will make such a program so complicated and it has to duplicate so many things from morphology analyser. That is why I used morphology analyser here.

What are the morphemes in a string like ആയിരത്തിത്തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയാറ്? ആയിരം, തൊള്ളായിരം, തൊണ്ണൂറ്, ആറ്? Sounds good, but we see that  തൊള്ളായിരം is ഒമ്പത്, നൂറ്. and തൊണ്ണൂറ് is ഒമ്പത്, പത്ത്. So expanding it, we get ആയിരം, ഒമ്പത്, നൂറു, ഒമ്പത്, പത്ത്, ആറ്. But this sequence does not make any sense of the single word it created. What is missing? Can we consider തൊള്ളായിരം, തൊണ്ണൂറ് as single morphemes? We can, but…

  • If  തൊള്ളായിരം is a morpheme, it means, it is in a lexicon. That makes all other 3 digit number also eligible to be listed as items in lexicon. So ultimately, we go back to the large lexicon/dictionary issue I mentioned in the beginning of the article.
  • Semantically, any number spellout is originated from Ones and their place value. So തൊണ്ണൂറ് is 9<tens>.

I have not seen any morphology analyser dealing with number spellout. It seems Malayalam numbers are so unique in this aspect. I read a few academic papers on dealing with this complexity using Rule based approaches(See References) and an automata like paradigm language(Richard Gillam – A Rule-Based Approach to Number Spellout).

The approach I derived after trying out some choices is as follows:

  • Introduce morphology tags for positional values. This is similar to POS tags, but here we apply for number spellouts. <ones>, <tens>, <hundreds>, <thousands>, <lakhs>, <crores> are those tags.
  • Parse a spellout to reach the atomic morphemes in a number spellout – they are ഒന്ന്, രണ്ട്, മൂന്ന്, നാല്, അഞ്ച്, ആറ്, ഏഴ്,എട്ട്, ഒമ്പത്, പൂജ്യം.
  • These morphemes will have the tags mentioned above.

To illustrate this, let use use some examples,

As you can observe, only the atomic numbers are used as morphemes and place values are indicated using tags. You can also see that the analysis is easy to interpret for a program to generate the number.

For example, if the analysis is രണ്ട്<ones><thousands> ഒന്ന്<tens> ഏഴ്<ones>,  replace the words with its numbers, tags by position value. You get

2*1*1000 + 1*10 + 7*1  =  2000+10+7 = 2017

I said that, the advantage of morphology analyser is you can generate the word from analysis strings. The bidirectional property. This means, if you have a number, you can generate the spellout. For that we first need to some maths on the number. For example, for same number 2017, we can divide incrementally by lakhs, thousands, hundreds, tens and arrive at the following formation

2017 = 2*1000 + 0*100 + 1*10+ 7*1

Which can be converted to:

രണ്ട്<thousands>ഒന്ന്<tens>ഏഴ്<ones>

The morphology analyser can easily generate the word രണ്ടായിരത്തിപ്പതിനേഴ് by applying all grammatical rules.

 

If you are eager to try out this conversion, I wrote a quick javascript based number to word convertor using the APIs of morphology analyser.

See the Pen Malayalam number parser by Santhosh Thottingal (@santhoshtr) on CodePen.

I did not write a convertor from the spelled out word to number. You are free to write one. The web interface of mlmorph is available for trying out some analysis too – https://morph.smc.org.in/

Inflections

Some illustrations on inflected spellout analysis

Ordinals

Ordinal form of numbers are used to show position. Examples are first, third etc. In Malayalam examples are ഒന്നാം, പതിനെട്ടാം ഏഴാമത്, ഒമ്പതാമത്തെ etc.  Supporting those forms is just like inflections. See the below screenshot

Technical details

Known issues

  • Some commonly used forms like മുപ്പത്തിമുക്കോടി is not supported yet.There are also variations like മുവ്വായിരം, മൂവായിരം.
  • If there are are multiple ways to generate a number word, the system generates all such forms. But some of these forms may be very obscure and not used at all.
  • There is a practice to insert space after some prefixes like ആയിരത്തി, ലക്ഷത്തി, കോടി. In the model I assumed the words are generated as single word.

Summary

We analysed the word formation for the spellout of the numbers in Malayalam. Usage of morphology analyser for analysis and generation of these word forms are introduced. A demo program that converts numbers to its word forms considering all morphophonological rules are presented. Algorithm for spelled out word to number conversion is given with example. Programmable API and Web API is given for the system.

References

Towards a Malayalam morphology analyser

Malayalam is a highly inflectional and agglutinative language. This has posed a challenge for all kind of language processing. Algorithmic interpretation of Malayalam’s words and their formation rules continues to be an untackled problem.  My own attempts to study and try out some of these characteristics was big failure in the past. Back in 2007, when I tried to develop a spellchecker for Malayalam, the infinite number of words this language can have by combining multiple words together and those words inflected was a big challenge. The dictionary based spellechecker was a failed attempt. I had documented these issues.

I was busy with my type design  projects for last few years, but continued to search for the solution of this problem. Last year(2016), during Google summer of code mentor summit at Google campus, California, mentors working on language technology had a meeting and I explained this challenge. It was suggested that I need to look at Finnish, Turkish, German and such similarly inflected and agglutinated languages and their attempts to solve this. So, after the meeting, I started studying some of the projects – Omorfi for Finnish, SMOR for German, TRMorph for Turkish. All of them use Finite state transducer technology.

There are multiple FST implementation for linguistic purposes – foma, XFST – The Xerox Finite State Toolkit, SFST – The Stuttgart Finite State Toolkit and HFST – The Helsinki Finite State Toolkit. I chose SFST because of good documentation(in English) and availability of reference system(TRMorph, SMOR).  And now we have mlmorph  – Malayalam morphology analyser project in development here:  https://github.com/santhoshtr/mlmorph

I will document the system in details later. Currently it is progressing well. I was able to solve arbitrary level agglutination with inflection. Nominal inflection and Verbal inflections are being solved one by one. I will try to provide a rough high level outline of the system as below.

  • Lexicon: This is a large collection of root words, collected and manually curated, classified into various part of speech categories. So the collection is seperated to nouns, verbs, conjunctions, interjections, loan words, adverbs, adjectives, question words, affirmatives, negations and so on. Nouns themselves are divided to pronouns, person names, place names, time names, language names and so on. Each of them get a unique tag and will appear when you analyse such words.
  • Morphotactics: Morphology rules about agglutination and inflection. This includes agglutination rules based on Samasam(സമാസം) – accusative, vocative, nominative, genitive, dative, instrumental, locative and sociative. Also plural inflections, demonstratives(ചുട്ടെഴുത്തുകൾ) and indeclinables(അവ്യയങ്ങൾ). For verbs, all possible tense forms, converbs, adverbal particles, concessives(അനുവാദകങ്ങൾ) and so on.
  • Phonological rules: This is done on top of the results from morphotactics. For example, from morphotactics, ആൽ<noun>, തറ<noun>, ഇൽ<locative> will give ആൽ<noun>തറ<noun>ഇൽ<locative>. But after the phonological treatment it becomes, ആൽത്തറയിൽ with consonant duplication after ൽ, and ഇ becomes യി.
  • Automata definition for the above: This is where you say nouns can be concatenated any number of times, following optional inflection etc in regular expression like language.
  • Programmable interface, web api, command line tools, web interface for demos.

What it can do now? Following screenshot is from its web demo. You can see complex words get analysed to its stems, inflections, tense etc.

Note that this is bidirectional. You can give a complex word, it will give analysis. Similarly when you give root words and POS tags, it will generate the complex word from it. For example:

ആടുക<v><past>കൊണ്ടിരിക്കുക<v><present> =>  ആടിക്കൊണ്ടിരിക്കുന്ന

Covering all possible word formation rules for Malayalam is an ambitious project, but let us see how much we can achieve. Now the effort is more on linguistic aspects of Malayalam than technical. I will update about the progress of the system here.

 

 

Indesign CC automatic hyphenation for Indian languages

More and more publishers are starting to use Indesign CC and Unicode. One of the many adavantages the publishers get with unicode and Indesign cc is automatic hyphenation. A few of my friends told me that they don’t know how to use hyphenation. Eventhough I never used Indesign before, I decided to figure out. In my Windows 10 virtual machine, I installed Indesign CC 2018.

Following is a tutorial on how to get perfect hyphenation for text in Indian languages in Indesign. I use Malayalam as example.

Indesign CC 2018 comes with Hunspell hyphenation dictionaries. These hyphenation dictionaries are written by me long time back. See https://github.com/smc/hyphenation

From menu Edit-> Preferences->Dictionary, set Language and Hyphenation as “Hunspell”

Create a text frame and add content to it. Make sure that the composer is set as Adobe World-Ready paragraph composer. You can access it from Paragraph settings as shown below. Without this settings, the Indic text won’t render correctly.

Tick the “Hyphenation” from the paragraph settings. Select an appropriate font for the content. Choose the language of the content as Malayalam or other Indic language you are working on. See screenshot below. Justify the content.

The content will get automatically hyphenated. If you resize the column width or insert more content, text will get automatically hyphenated.

The exported PDF will look like:

You can see the hyphenation rules in Installation folder: C:\Program Files\Adobe\Adobe InDesign CC 2018\Resources\Dictionaries\LILO\Linguistics\Providers\Plugins2\AdobeHunspellPlugin\Dictionaries

Patterns are available for Assamese, Bengali, Panjabi, Gujarati, Assamese, Marathi, Tamil, Telugu, Odia, Kannada and Malayalam.

I have not tried older Indesign versions, so I don’t know from which version this feature is available. But I don’t see a reason for not using latest version either.

Scribus gets Malayalam Hyphenation support

Scribus now has support for Malayalam hyphenation.

I filed a bug report to add Malayalam hyphenation rules to Scribus and it is now added to scribus. The hyphenation rules are based on the TeX hyphenation patterns I wrote.

How to use

You need scribus 1.5.4 or later. It is not yet available as release while I am writing this. But once released you can get from https://www.scribus.net/downloads/

  • Start a new document. Add text frames and content. You will need narrow columns to have wordbreaking contexts. For example 2 columns as I use for demo here.
  • Select the text and set font as a Malayalam font like Manjari, Set the language as Malayalam.
  • In Hyphenation properties, set hyphenation character as blank, otherwise visible hyphens will appear.
  • Set the text justified.
  • From menu Extras->Hyphenate text. Done.

Here is the output:

Hyphenated two column content

 

Trufont now has SVG paste, drag and drop support

TruFont the font-editing application written with Python3, ufoLib, defcon and PyQt5 now has support for pasting SVG images as glyphs. It now also support drag and dropping SVG files. Trufont

For my font design workflow I mainly use Inkscape to desgin master drawings and then use fonteditor for further editing. I am migrating the fonts we maintained to Trufont from Fontforge(It is no longer developed). But, not having SVG support with Trufont was a blocker for me. So today I filed two patches and got merged to Trufont master.

There are still some known issues. Mainly the pasted svg is vertically flipped. The editor can flip it again. But the original issue need investigation.

മഞ്ജരി ഫോണ്ട് – പതിപ്പ് 1.3

മഞ്ജരി ഫോണ്ടിന്റെ 1.3 പതിപ്പ് ഇപ്പോൾ ലഭ്യമാണു്.

പ്രധാന മാറ്റങ്ങൾ ഇവയാണ്:

  • കണ്ടീഷണൽ സ്റ്റാക്കിങ്ങ് സംവിധാനം കൂടുതൽ അക്ഷരരൂപങ്ങളിലേക്ക് കൊണ്ടുവന്നു. കൂടുതൽ വിവരങ്ങൾ സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ്ങ് ബ്ലോഗിൽ: https://blog.smc.org.in/conditional-stacking/
  • ഫോണ്ട് ഇപ്പോൾ TTF നു പകരം OTF ഫോർമാറ്റിൽ ആണ് സ്വതവേ വരുന്നതു്. മഞ്ജരി രൂപകല്പന ചെയ്തത് OTF ഫോർമാറ്റ് മുന്നിൽ കണ്ടായിരുന്നെങ്കിലും(ക്യുബിക് ബെസിയർ കർവുകൾ) എല്ലാ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളിലും കുറ്റമറ്റതായി കാണാത്തതുകൊണ്ട് TTF ൽ ആയിരുന്നു ആദ്യം പുറത്തിറക്കിയതു്. ഇപ്പോൾ ആ പ്രശ്നങ്ങളൊക്കെ പരിഹരിച്ചിട്ടുണ്ടു്. TTF, Webfonts എന്നിവയും വേണമെങ്കിൽ ഡൌൺലോഡ് ചെയ്യാം.
  • ഫോണ്ട് ഫോർജ് ആയിരുന്നു മഞ്ജരിയടക്കമുള്ള എല്ലാ ഫോണ്ടുകളും എഡിറ്റ് ചെയ്യാൻ ഞങ്ങൾ ഉപയോഗിച്ചിരുന്നതു്. വളരെ പഴയ ആ സോഫ്റ്റ്‌‌വെയർ അതിന്റെ ഡെവലപ്മെന്റ് പതിയെ നിർത്തുകയാണ്. Unified Font Object ഫോർമാറ്റിലേക്ക് എല്ലാ ഫോണ്ടുകളുടെയും സോഴ്സ് കോഡ് മാറുകയും Trufont പോലുള്ള പുതിയ എഡിറ്റർ വരുകയും ചെയ്യുന്നുണ്ട്. ഈ മാറ്റത്തിനൊപ്പം പോകാൻ ആദ്യമായി മഞ്ജരിയുടെ സോഴ്സ് കോഡ് UFO ഫോർമാറ്റിലേക്ക് മാറ്റി. ബാക്കി ഫോണ്ടുകളും പതിയെ അങ്ങനെ മാറ്റി ഫോണ്ട് ഫോർജുമായുള്ള ബന്ധം ഉപേക്ഷിക്കും.

പുതിയ ഫോണ്ടുകൾ ഡൌൺലോഡ് ചെയ്യാൻ: https://smc.org.in/fonts/#manjari

സോഴ്സ് കോഡ്, ഇഷ്യൂ ട്രാക്കർ: https://gitlab.com/smc/manjari/

1.2 പതിപ്പിൽ യൂണിക്കോഡ് 10 ൽ മലയാളത്തിൽ വന്ന കുറച്ച് അക്ഷരങ്ങൾ ചേർത്തിരുന്നു.