A Malayalam language text editor for MS DOS/Windows console

A console driven malayalam language editor. Serves as a reference to basics of bit mapping. Suits as a high school project or mid term project for undergraduate courses.

Download : Code | Windows Binaries

Note: Given on as is basis (written by author during high school – 1999 to 2001). Uses plain array as the character buffer – using a linked list would make it faster and can help reduce the flicker. Last successful compilation done almost a decade before.

If you want to create your own font for other languages, heres how –

  1. Make a cross reference of characters and the ascii of the keyboard button to relate that to.
  2. Get a “square line” book. ( one we used for doing maths at lower primary school)
  3. Reserve each page for each character.
  4. On a page outline a rectangle having 16 squares horizontally and 10 squares vertically.
  5. Draw each character inside the above rectangle.
  6. Mark “1”s in all squares where the character’s edges pass through. ( the blank boxes can be imagined asĀ  zeroes). Now each character can be seen as 10 lines each having 16 ones or zeroes. This is the bitmap of the character, to be entered in the font-maker later.
  7. Do the above in a new page for each of the characters in the serial order defined in the cross reference.
  8. Compile and run fntmaker.cpp. Give any name for font file when prompted. Add each character as 10 lines of 1s and 0s (using the interactive menu).
  9. Compile and run refmkr.cpp. Give any name for the reference file when prompted. Enter each of the character to ascii mapping created in step 1.
  10. Rename the font file to font1 and ascii-to-character reference file to ref.
Kj [/.] Sreekumar programs computers as a hobby and profession. Into programming from his school days, Sree uses Codemarvels to key in facts and fixes he finds interesting while working on different projects. Some of the articles here give away a few shades of his philosophical leanings too.

Leave a Comment

Your email address will not be published. Required fields are marked *