GlossaryΒΆ

“Everything but the kitchen sink”
An English idiom meaning to include nearly everything that you can think of.
API version
Version that is meant for computer consumption. This version is parsable and comparable by computers. It contains information about a library’s API so that computer software can decide whether it works with the software.
ASCII

A character encoding that maps numbers to characters essential to American English. It maps 128 characters using 7bits.

ASCII compatible

An encoding in which the particular byte that maps to a character in the ASCII character set is only used to map to that character. This excludes EBDIC based encodings and many multi-byte fixed and variable width encodings since they reuse the bytes that make up the ASCII encoding for other purposes. UTF-8 is notable as a variable width encoding that is ASCII compatible.

See also

http://en.wikipedia.org/wiki/Variable-width_encoding
For another explanation of various ways bytes are mapped to characters in a possibly incompatible manner.
code points
code point
code point
A number that maps to a particular abstract character. Code points make it so that we have a number pointing to a character without worrying about implementation details of how those numbers are stored for the computer to read. Encodings define how the code points map to particular sequences of bytes on disk and in memory.
control characters
control character
control character

The set of characters in unicode that are used, not to display glyphs on the screen, but to tell the display in program to do something.

grapheme

characters or pieces of characters that you might write on a page to make words, sentences, or other pieces of text.

I18N
I18N is an abbreviation for internationalization. It’s often used to signify the need to translate words, number and date formats, and other pieces of data in a computer program so that it will work well for people who speak another language than yourself.
message catalogs
message catalog
message catalog

Message catalogs contain translations for user-visible strings that are present in your code. Normally, you need to mark the strings to be translated by wrapping them in one of several gettext functions. The function serves two purposes:

  1. It allows automated tools to find which strings are supposed to be extracted for translation.
  2. The functions perform the translation when the program is running.

See also

babel’s documentation

for one method of extracting message catalogs from source code.
Murphy’s Law

“Anything that can go wrong, will go wrong.”

release version
Version that is meant for human consumption. This version is easy for a human to look at to decide how a particular version relates to other versions of the software.
textual width
The amount of horizontal space a character takes up on a monospaced screen. The units are number of character cells or columns that it takes the place of.
UTF-8
A character encoding that maps all unicode code points to a sequence of bytes. It is compatible with ASCII. It uses a variable number of bytes to encode all of unicode. ASCII characters take one byte. Characters from other parts of unicode take two to four bytes. It is widespread as an encoding on the internet and in Linux.