4

I can't figure out the relation between those terms. I actually need a brief explanation for each and eventually a relation between them.

Moreover, where do all these stuff reside? Where are they implemented? Is it the job of the operating system to manage the aforementioned terms? If not, then who is responsible for this job?

MyNameIsUser
  • 119
  • 9
  • Did you try reading some references, like e.g. wikipedia? – Deduplicator Jun 01 '14 at 12:15
  • 1
    I tried. Wikipedia is good as a refresher, not as a learning tool. – MyNameIsUser Jun 01 '14 at 12:31
  • 1
    These are terms that date from the 1980s, back when GUI operating systems started emerging but machines didn't have the horse-power yet to support Unicode. It is largely irrelevant today, although not completely gone. Writing a book about such outdated concepts is rather unappealing. Somebody posted a decent answer but it got downvoted, lots of reasons to skip this question. Just make sure you don't have to deal with it, modern tooling makes it easy enough. – Hans Passant Jun 01 '14 at 15:43

1 Answers1

2

Character Sets describe the relationship between character codes and characters.
As an example, all (extended) ASCII character sets assign 41hex == 65dec to A.
Common character sets are ASCII, Unicode (UTF-8, UTF-16), Latin-1 and Windows-1252.

Code Pages are a a representation of character sets / a mechanism for selecting which character set is in use: There are the old DOS/computer manufacturer codepages and the legacy support for them in Windows, ANSI-Codepage (ANSI is not to blame here) and OEM-Codepage.
If you have a choice, avoid them like the plague and go for unicode, preferably UTF-8, though UTF-16 is an acceptable choice for the OS-facing part in Windows.

Locales are collections of all the information needed to conform to local conventions for display of information. On systems which neither use code pages nor have a system-defined universal character set, they also determine the character set used (e.g. Unixoids).

Fonts are the graphics and ancillary information neccessary for displaying text of a known encoding. Examples are "Times New Roman", "Verdana", "Arial" and "WingDings".
Not all Fonts have symbols for all characters present in any specific character set.

Martin Thoma
  • 124,992
  • 159
  • 614
  • 958
Deduplicator
  • 44,692
  • 7
  • 66
  • 118