Configurable node logger with winston

For an advanced logging system for nodejs applications, winston is very helpful. Winston is a multi-transport async logging library for node.js. Similar to famous logging systems like log4j, we can configure the log levels and winston allows to define multiple logging targets like file, console, database etc. I wanted to configure logging as per usual nodejs production vs development environment. Of course with development mode, I am more interested in debug level logging and at production environment I am more interested in higher level logs. [Read More]

Mediawiki moves to json based localisation file format

Mediawiki is moving from PHP array based localisation file format to json format.

This is based on the RFC: https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format

A lot of extensions were also migrated to the new localisation format, thanks to Siebrand Mazeland

The json based localization file format was first introduced in our frontend javascript i18n library https://github.com/wikimedia/jquery.i18n

If you are interested in seeing some of the sample json files see https://gerrit.wikimedia.org/r/#/c/122787/ , claimed as “largest patch set in the history of MediaWiki” 

Brackets, my favorite javascript IDE

I use Brackets for web development. I had tried several other IDEs but Brackets is my current favorite IDE. A few things I liked is listed below It is free software licensed under the MIT License written in HTML, CSS and JavaScript Availability of large number of extensions Some extensions I use with Brackets are: Markdown Preview for easy editing of markdown Brackets Git for git integration Themes for Brackets For Monokai Darksoda theme I use Brackets Linux UI Interactive Linter realtime JSHint/JSLint/CoffeeLint reports into brackets as you work on your code WD Minimap for SublimeText like code overview Beautify for automatic code formatting as you save using jsbeautify Beautify extension helps me a lot because most of the MediaWiki related code I write needs be as MediaWiki javascript coding convention. [Read More]

NotoSansMalayalam and nta

NotoSansMalayalam has the following ligature rules for ന്റ (nta)- All uses Akhand Opentype feature uni0D7B(ൻ) + uni0D4D(്) + uni0D31(റ) => ൻ + ് + റ uni0D28(ന) + uni0D4D(്) + uni200D(ZWNJ) +uni0D31(റ) => ന്‍ + റ uni0D28(ന) + uni0D4D(്) + uni0D31(റ) => ന് +റ The first one is what is defined in Unicode chapter 09 section 9.9[pdf]. The second is what Microsoft Kartika used to use for /nta/ as a bug. The last one is what all other fonts follows. [Read More]

Spurious glyphs in NotoSansMalayalam

NotoSansMalayalam is a font released by Google internationalization team under noto project. I was checking the glyphs of Malayalam and noted a number of spurious glyphs in the font It is interesting because the font attempted to provide a minimal Malayalam font with reduced glyph set. While attempting that about 10% of the glyphs are either non-existing Malayalam glyphs(Glyphs with dot under consonants) or rarely used glyphs(Glyphs with U+0D62 MALAYALAM VOWEL SIGN VOCALIC L) [Read More]
fonts 

Collaboratively edited documentation for Indic font developers

One of the integral building blocks for providing multilingual support for digital content are fonts. In current times, OpenType fonts are the choice. With the increasing need for supporting languages beyond the Latin script, the TrueType font specification was extended to include elements for the more elaborate writing systems that exist. This effort was jointly undertaken in the 1990s by Microsoft and Adobe. The outcome of this effort was the OpenType Specification – a successor to the TrueType font specification. [Read More]

Hyphenation in web

This is a follow up of a 4 year old blog post about hyphenation. Hyphenation allows the controlled splitting of words to improve the layout of paragraphs, typically splitting words at syllabic or morphemic boundaries and visually indicating the split (usually with a hyphen). I wrote about how a webpage can use Hyphenator javascript library to achieve hyphenation for a text with ‘justify‘ style. Along with the hyphenation rules I wrote for many Indian languages, this solution works and some websites already use it. [Read More]

New version of Malayalam fonts released

Swathanthra Malayalam Computing project announced the release of new version of Malayalam unicode fonts this week. In this version, there are many improvements for popular Malayalam fonts Rachana and Meera. Dyuthi font has some bug fixes. I am listing the changes below. Meera font was small compared to other fonts. This was not really a problem in Gnome environment since fontconfig allows you to define a scaling factor to match other font size. [Read More]

SVG Fonts

This post is some notes on the current state of SVG Fonts. SVG is not a webfont format. The purpose of SVG fonts is to be embedded inside of SVG documents (or linked to them), similar to the way you would embed standard TrueType or OpenType fonts in a PDF. SVG fonts are text files that contain the glyph outlines represented as standard SVG elements and attributes, as if they were single vector objects in the SVG image. [Read More]