Re: newsletters in text format
Bier de Stone wrote in message <kxASd.259063$w62...@bgtnsc05-news.ops.worldnet.att.net>: > OK. I know I may have been caught dozing in computer lab when the > teacher was lecturing on file format. I take your response as a HELL NO! > Unicode-16 is bigger and uglier than Unicode-8. You have to admit, > though, the whole idea that ascii characters being a limited version of > the alphabet, doesn't apply as well to the font. I mean, that's where > you lost me. > > OK, the first 128 characters of the unicode standard is the ascii > standard AND characters 32 thru 126 are used for this NG. I don't see > where you specify that characters 32 thru 126 have got to be fixed > width. Isn`t a character a character? Or is that what distinguishes > ascii from Western, Unicode-8, and Unicode-16? In other words, ascii not > only encompasses particular letters and symbols, it also includes the > fonts in which they are displayed. I think you need some theory here. At the beginning, you have characters. Defining exactly what is a characters is somewhat complicated (is the French oe ligature one or two characters? and what about complex Indian ligatures?), but it does not concern programmers: it is a linguist work. Linguist provide a list of characters, they define them anyhow, and the task of the programmers is to devise a way to encode a sequence of characters into a sequence of bytes in an unambiguous way. Such a correspondance is called an encoding. ASCII is one of the first efforts to have a standard encoding. At this time, programmers speak English, and the bytes are reliably 7 bits wide, so the code chosen use one byte per character, and allow to code the characters required for basic English. Some time later, the standard of 8 bits bytes emerged, and non-English-speaking had started using computer, so there was a rush for the 128 more bytes values to code various language-specific characters. Most of these encodings have this in common: there is always a one-to-one relation between bytes and characters. There is more: this relation is almost always the same as ASCII for the values between 0 and 127. This has an advantage: consider a protocol that understands various ASCII characters as markup (the quote for a litteral string, for example), and treates every other character with the rule "I do not know, I let it through". If the software handling such a protocol is not too badly written, the "I do not know, I let it through" rule will apply also to the bytes values beyond 128. Such programs and protocols are called 8bits clean. With one byte per characters encodings which extends ASCII, there is no need for intermediary software to know the encodings: the input software has to know it, the output software has to know it too, but it is enough for the intermediary software to be 8bits clean: all non-ASCII characters will just go through unchanged. Such encodings are called compatible with ASCII. Well, 8 bits bytes means 256 bytes values, that is not enough for Chinese or Japanese. Chinese and Japanese programmers invented encodings with several bytes per character, sometimes compatible with ASCII (for exemple the ASCII value if the character is available in ASCII, and two 128-255 bytes else). Unicode is an effort to unify everything. First of all, Unicode is not an encoding. I repeat: UNICODE IS NOT AN ENCODING. Unicode is a collection of characters. It is a big collection, and intends to be universal, but there are no bytes values involved. The characters in the collection are numbered, because it is very useful, but it is a mathematical numbering, it is not theorically bounded (but alas, it is politically bounded, see later). As such, Unicode can be used as a bridge between encodings. For exemple, take the Euro currency symbol. It has code 0x80 in the windows-1252 encoding, 0xA4 in the ISO-8859-15 encoding, 0xAC in the LaTeX T1 encoding, and so on. How to handle that without having tables for every single pair of encodings? Unicode provides a way: the only need is a table to match each encoding with Unicode. But there is more: along with Unicode were designed encodings to logically code the Unicode numbers into bytes sequences. At the time before one descovered a mine of more than sixty thousand old Chinese ideograms, one thought that 16 bits was enough to code all, so one used 2-bytes integers to code the Unicode characters. This is UCS-2. Well, this is UCS-2 big endian or UCS-2 little endian. This is always a problem. Now, anyone thinks that 2^32 will be enough for everyone, so we have UCS-4: 4-bytes integers to code the Unicode characters. And again, the endianness problem. Alas, a lot of programs used UCS-2, so one invented a dirty hack to extend it: a few unaffected values were used as "surrogates", and along with a second value allow to code up to about one million values. This is UTF-16. UTF-16 is a verry bad standard. And as usual with bad standards, it is heavily supported by a few big companies writing bad software. In this case: microsoft, Sun (with java), IBM. To avoid upsetting these monsters, the Unicode consortium has decided never to go beyond the possibilities of UTF-16. There is also UTF-8. It is a bit complicated, with characters using between one and six bytes, to code values up to 2^31, but it has a lot of advantages: - it is compatible with ASCII, so it can be handled by 8bit-clean programs; - the lexical order of its bytes is the same as the lexical order of the characters they code; - it is corruption-proof: if some bytes are lost or wrong, it is possible to recover at the next uncorrupted character; - it is quite compact for western languages, with not much more than one byte per character; - it has no endianness problem. UTF-8 is the Good encoding to use nowadays. Now, for your macintosh gibberish: mac roman, as far as I know, is a one-byte-per-character ASCII-compatible encoding used by apple, since they never can do anything like others. Unicode-8 and Unicode-16 does not mean anything at all, but I supose the first should be written "UTF-8" and the second either "UTF-16" or "UCS-2". Now, why those groups do not like Unicode. Well, consider the smileys. To a certain extent, the first who spotted that a colon, a dash and a parenthesis looked like a smiling face was a genius. But it does not require a genius to see that the character numbered 9786 in Unicode is a smiling face; it is even written in its name, "WHITE SMILING FACE". Somehow, using Unicode to make so-called-ASCII-art is cheating. As for the last question: you can use proportional-spaced fonts and do characters-based art, but it will be completely specific to the font you used. Change the font, the drawing will be completely wrong. And you have no way to describe simply the spacing of a font: you have to write the whole metrics. Except for monospaced fonts: there is nothing to say beyond that word: monospaced. Furthermore, monospaced fonts are the historical support for ASCII-art: people used to do ASCII-art on terminals and line printers a long time before they were capable of displaying proportional-spaced fonts.
Original message headers
X-Google-Thread: f996b,6c2c2e13be9fe9c1 X-Google-Attributes: gidf996b,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!nerim.net!biggoron.nerim.net!not-for-mail From: Nicolas George <nicolas$geo...@salle-s.org> Newsgroups: alt.ascii-art Subject: Re: newsletters in text format Date: Tue, 22 Feb 2005 16:17:57 +0000 (UTC) Organization: Nerim -- xDSL Internet Provider Lines: 137 Sender: cig...@ssecem.salle-s.invalid (Nicolas George) Message-ID: <cvflvk$230v$1...@biggoron.nerim.net> References: <xspSd.62883$Th1...@bgtnsc04-news.ops.worldnet.att.net> <SYwSd.64192$Th1...@bgtnsc04-news.ops.worldnet.att.net> <37v...@individual.net> <N8ASd.64810$Th1...@bgtnsc04-news.ops.worldnet.att.net> <421acfbe$1...@dnews.tpgi.com.au> <kxASd.259063$w62...@bgtnsc05-news.ops.worldnet.att.net> NNTP-Posting-Host: ssecem.salle-s.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: biggoron.nerim.net 1109089077 68639 80.65.227.71 (22 Feb 2005 16:17:57 GMT) X-Complaints-To: abu...@nerim.net NNTP-Posting-Date: Tue, 22 Feb 2005 16:17:57 +0000 (UTC) X-Newsreader: Flrn (0.9.0 - 04/06) Xref: g2news1.google.com alt.ascii-art:3378
About this message.
This message was posted publicly to the newsgroup
alt.ascii-art
in 2005 and is mirrored here unchanged as part of the Historic Archives – only email addresses are masked.
The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can.
Are you the author? Contact us to get your posts attributed, connected to your artist profile, or removed.