๐Ÿ“š
Docs
  • Welcome
  • Santhosh Thottingal
    • Coding
    • Software I use
    • Research Papers
    • Talks
    • Projects
    • In news
    • Ideas
    • Books
  • Malayalam Computing
    • Unicode
      • Syllable
      • Conjunct
      • Articles
    • Input methods
      • Inscript
      • Swanalekha
      • Handwriting Recognition
        • Procrustes Analysis
      • Proprietory Input Methods
      • What is a good input method?
      • Typewriter
    • Script Rendering
      • Orthography
      • Ya Ra Va Signs
      • U signs
    • Type Design
      • Color Fonts
      • Curves
      • Design Ideas
      • Manjari
        • Gallery
      • Chilanka
      • Gayathri
      • Customize Malayalam fonts in Linux
      • Articles
      • Tools
      • Type classification
        • Display typefaces
    • Spellcheck
      • History
      • Dictionary based approach
      • Nature of Malayalam spelling mistakes
      • Morphology analyser based approach
      • Tools and services
      • Links
    • Hyphenation
      • Web page
    • Typesetting
      • LaTeX
      • Scribus
      • PDF
      • XeTeX
      • Indesign
      • Markup languages
    • Speech Recognition
    • Speech Synthesis
      • Dhvani
    • Collation
    • Corpus
    • Morphology Analysis
      • Mlmorph
        • Snippets
      • Part of speech tagging
      • Morphology complexity
    • Named Entity Recognition
    • Numbers
      • Number spellout
      • Hindi
    • Machine Translation
      • Neural Machine Translation
    • Optical Character recognition
    • Transliteration
    • Digitization
    • NLP
      • Low resource languages
      • Natural Language Generation
    • Grammar analysis
      • Style checkers
    • Dictionary
      • Lexicon
    • Natural Language Understanding
    • Natural Language Generation
    • Swathanthra Malayalam Computing
    • Meta
      • Malayalam Sign Language
      • เดชเดฆเดจเดฟเตผเดฎเดฟเดคเดฟ
      • History
      • เดฒเดฟเดชเดฟเดชเดฐเดฟเดฃเดพเดฎเด‚ เดจเดฟเดฒเดšเตเดšเตเดชเต‹เดฏเต‹?
      • เดญเดพเดทเดพ เดชเด เดจเด‚
      • เดถเตเดฐเต‡เดทเตเด  เดญเดพเดท
      • Dictionary
    • Encyclopedia
    • Government
      • Script
      • เด•เต‡เดฐเดณ เดญเดพเดทเดพ เด‡เตปเดธเตเดฑเตเดฑเดฟเดฑเตเดฑเตเดฏเต‚เดŸเตเดŸเต
  • Academic Research
    • Knowledge Dissemination
    • Research papers
    • Reproducible Research
  • Arts
  • Books
  • Blockchain
  • Computer Science
    • Data, Information, Knowledge
    • Theory of computation
    • Compilers and Interpreters
    • Graphics
    • Data Visualization
    • Parsers
    • Data Structures & Algorithms
    • Finite State Transducer
  • Cyberspace
    • Digital Governance
    • เด•เต‡เดฐเดณเดคเตเดคเดฟเตฝ
    • Online Abuse
  • Databases
  • Education
    • Finite State Transducers
    • Digital Education
    • Digital Literacy
      • เดกเดฟเดœเดฟเดฑเตเดฑเตฝ เดธเดพเด•เตเดทเดฐเดคเดพ เดชเดฆเตเดงเดคเดฟ
      • Resources
    • Remote Learning
    • General Learning
  • Entertainment
  • Frontend technology
    • Colors
    • Design systems
    • CSS
    • PWA
    • SPA
    • Vue
  • Generative Graphics
    • Drawbot
    • Matrix Digital Rain
  • Hardware
  • Internet
    • Etiquettes
    • Privacy
    • IPFS
    • Resilience
    • Decentralization
    • Network debugging tools
  • Knowledge Representation
  • Languages & Scripts
    • Arabic
    • Vattezhuth
  • Life
    • Digital Minimalism
  • Linux
  • Machine learning
    • Neural Networks
    • Dialog systems, Information retrieval
    • Large Language Models
    • Embedding
    • ML in Production
    • Retrieval Augmented Generation
  • Mathematics
  • Music
  • Parenting
  • Politics
    • Hatred, Hinduthwa, Nationalism
  • Productivity
  • Problem Solving
  • Science
  • Software Libraries
  • Software Engneering
    • Architecture
    • Product Management
    • Docker
    • Programming
      • Javascript
    • People
    • Performance
    • Code Review
  • Web3
  • Web Typography
  • Writing
  • เดชเดพเดŸเตเดŸเตเด•เตพ
    • เด•เตเดŸเตเดŸเดฟเดชเตเดชเดพเดŸเตเดŸเตเด•เตพ
  • เดฎเดฒเดฏเดพเดณเด‚ เด…เดšเตเดšเดŸเดฟ
  • เด—เดตเต‡เดทเดฃเดชเตเดฐเดฌเดจเตเดงเด™เตเด™เตพ
Powered by GitBook
On this page
  1. Malayalam Computing
  2. Script Rendering

Ya Ra Va Signs

PreviousOrthographyNextU signs

Last updated 4 years ago

In Malayalam, the Ya, Va and Ra signs when appeared together has an interesting problem. The Ra sign is prebase sign, meaning, it goes to left side of the consonant or conjunct to which it applies. The Ya and VA signs are post base, meaning it goes to the right side of consonant or conjunct to which it applies. So, after a consonant or conjunct, if Ra sign and Ya sign is present, Ra sign goes to left and Ya sign remain to the right. This is same, irrespective of the order of ya and ra.

To understand this issue better, let us take the example of เด• + เตโ€Œเดฐ + เตโ€Œเดฏ and เด• + เตโ€Œเดฏ + เตโ€Œเดฐ. The below image illustrates the steps this combination goes through in rendering. An example word with เด• + เตโ€Œเดฐ + เตโ€Œเดฏ can be transliteration of crew - เด•เตเดฐเตเดฏเต‚. เดธเตเดตเดพเดคเดจเตเดคเตเดฐเตเดฏเด‚ is another word where this Ra sign, Va sign combination appears. There is no valid word for เด• + เตโ€Œเดฏ + เตโ€Œเดฐ, but that is not much relevant to a font. It is supposed to render any sequence without errors. If both เด• + เตโ€Œเดฐ + เตโ€Œเดฏ and เด• + เตโ€Œเดฏ + เตโ€Œเดฐ are producing same rendering it is a bug.

This bug was present in SMC's Manjari, Chilanka, Gayathri fonts(all share same opentype tables). The issue is also present in Ra sign, Va sign combination as illustrated in the below image.

The fix is not complex. It involves a conditional replacement of Ra sign with Virama + Ra when appeared after Ya sign or Va sign. The replacement can be done using a multiple substitution rule. The Noto Sans Malayalam font from Google also address this issue in exactly same way.

This fix is available in latest versions of Manjari, Gayathri and Chilanka. The issue is present in other fonts of SMC too, but not fixed yet.

I had noticed this issue in 2018 and reported: "". I did not give much importance to it since has relatively small impact. But recently . That prompted me to solve it.

เดธเตเดตเดพเดคเดจเตเดคเตเดฐเตเดฏเด‚ เดธเตเดตเดพเดคเดจเตเดคเตเดฏเตเดฐเด‚ rendered same
Jon Hudson asked me about this in twitter
Ya, Ra signs producing same rendering irrespective of order in data.
Va, Ra signs producing same rendering irrespective of order in data.
The splitting of Ra-sign when followed by Ya sign after pstf step
The splitting of Ra-sign when followed by Va sign after pstf step