UTF-8 Test

For aggregators (and we’ll put some in the first sentence for summary-only ones: UTF-8(äéîøùñÞÐ∰ち) XML(äéîøùñÞÐ∰ち)).

          .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
     160.  ᘀ  ᘁ  ᘂ  ᘃ  ᘄ  ᘅ  ᘆ  ᘇ  ᘈ  ᘉ  ᘊ  ᘋ  ᘌ  ᘍ  ᘎ  ᘏ 
     161.  ᘐ  ᘑ  ᘒ  ᘓ  ᘔ  ᘕ  ᘖ  ᘗ  ᘘ  ᘙ  ᘚ  ᘛ  ᘜ  ᘝ  ᘞ  ᘟ 
     162.  ᘠ  ᘡ  ᘢ  ᘣ  ᘤ  ᘥ  ᘦ  ᘧ  ᘨ  ᘩ  ᘪ  ᘫ  ᘬ  ᘭ  ᘮ  ᘯ 
     163.  ᘰ  ᘱ  ᘲ  ᘳ  ᘴ  ᘵ  ᘶ  ᘷ  ᘸ  ᘹ  ᘺ  ᘻ  ᘼ  ᘽ  ᘾ  ᘿ 
     164.  ᙀ  ᙁ  ᙂ  ᙃ  ᙄ  ᙅ  ᙆ  ᙇ  ᙈ  ᙉ  ᙊ  ᙋ  ᙌ  ᙍ  ᙎ  ᙏ 
     165.  ᙐ  ᙑ  ᙒ  ᙓ  ᙔ  ᙕ  ᙖ  ᙗ  ᙘ  ᙙ  ᙚ  ᙛ  ᙜ  ᙝ  ᙞ  ᙟ 
     166.  ᙠ  ᙡ  ᙢ  ᙣ  ᙤ  ᙥ  ᙦ  ᙧ  ᙨ  ᙩ  ᙪ  ᙫ  ᙬ  ᙭  ᙮  ᙯ 
     167.  ᙰ  ᙱ  ᙲ  ᙳ  ᙴ  ᙵ  ᙶ  ᙷ  ᙸ  ᙹ  ᙺ  ᙻ  ᙼ  ᙽ  ᙾ  ᙿ 
     168.     ᚁ  ᚂ  ᚃ  ᚄ  ᚅ  ᚆ  ᚇ  ᚈ  ᚉ  ᚊ  ᚋ  ᚌ  ᚍ  ᚎ  ᚏ 
     169.  ᚐ  ᚑ  ᚒ  ᚓ  ᚔ  ᚕ  ᚖ  ᚗ  ᚘ  ᚙ  ᚚ  ᚛  ᚜  ᚝  ᚞  ᚟ 
     16A.  ᚠ  ᚡ  ᚢ  ᚣ  ᚤ  ᚥ  ᚦ  ᚧ  ᚨ  ᚩ  ᚪ  ᚫ  ᚬ  ᚭ  ᚮ  ᚯ 
     16B.  ᚰ  ᚱ  ᚲ  ᚳ  ᚴ  ᚵ  ᚶ  ᚷ  ᚸ  ᚹ  ᚺ  ᚻ  ᚼ  ᚽ  ᚾ  ᚿ 
     16C.  ᛀ  ᛁ  ᛂ  ᛃ  ᛄ  ᛅ  ᛆ  ᛇ  ᛈ  ᛉ  ᛊ  ᛋ  ᛌ  ᛍ  ᛎ  ᛏ 
     16D.  ᛐ  ᛑ  ᛒ  ᛓ  ᛔ  ᛕ  ᛖ  ᛗ  ᛘ  ᛙ  ᛚ  ᛛ  ᛜ  ᛝ  ᛞ  ᛟ 
     16E.  ᛠ  ᛡ  ᛢ  ᛣ  ᛤ  ᛥ  ᛦ  ᛧ  ᛨ  ᛩ  ᛪ  ᛫  ᛬  ᛭  ᛮ  ᛯ 
     16F.  ᛰ  ᛱ  ᛲ  ᛳ  ᛴ  ᛵ  ᛶ  ᛷ  ᛸ  ᛹  ᛺  ᛻  ᛼  ᛽  ᛾  ᛿ 
          .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
     220.  ∀  ∁  ∂  ∃  ∄  ∅  ∆  ∇  ∈  ∉  ∊  ∋  ∌  ∍  ∎  ∏ 
     221.  ∐  ∑  −  ∓  ∔  ∕  ∖  ∗  ∘  ∙  √  ∛  ∜  ∝  ∞  ∟ 
     222.  ∠  ∡  ∢  ∣  ∤  ∥  ∦  ∧  ∨  ∩  ∪  ∫  ∬  ∭  ∮  ∯ 
     223.  ∰  ∱  ∲  ∳  ∴  ∵  ∶  ∷  ∸  ∹  ∺  ∻  ∼  ∽  ∾  ∿ 
     224.  ≀  ≁  ≂  ≃  ≄  ≅  ≆  ≇  ≈  ≉  ≊  ≋  ≌  ≍  ≎  ≏ 
     225.  ≐  ≑  ≒  ≓  ≔  ≕  ≖  ≗  ≘  ≙  ≚  ≛  ≜  ≝  ≞  ≟ 
     226.  ≠  ≡  ≢  ≣  ≤  ≥  ≦  ≧  ≨  ≩  ≪  ≫  ≬  ≭  ≮  ≯ 
     227.  ≰  ≱  ≲  ≳  ≴  ≵  ≶  ≷  ≸  ≹  ≺  ≻  ≼  ≽  ≾  ≿ 
     228.  ⊀  ⊁  ⊂  ⊃  ⊄  ⊅  ⊆  ⊇  ⊈  ⊉  ⊊  ⊋  ⊌  ⊍  ⊎  ⊏ 
     229.  ⊐  ⊑  ⊒  ⊓  ⊔  ⊕  ⊖  ⊗  ⊘  ⊙  ⊚  ⊛  ⊜  ⊝  ⊞  ⊟ 
     22A.  ⊠  ⊡  ⊢  ⊣  ⊤  ⊥  ⊦  ⊧  ⊨  ⊩  ⊪  ⊫  ⊬  ⊭  ⊮  ⊯ 
     22B.  ⊰  ⊱  ⊲  ⊳  ⊴  ⊵  ⊶  ⊷  ⊸  ⊹  ⊺  ⊻  ⊼  ⊽  ⊾  ⊿ 
     22C.  ⋀  ⋁  ⋂  ⋃  ⋄  ⋅  ⋆  ⋇  ⋈  ⋉  ⋊  ⋋  ⋌  ⋍  ⋎  ⋏ 
     22D.  ⋐  ⋑  ⋒  ⋓  ⋔  ⋕  ⋖  ⋗  ⋘  ⋙  ⋚  ⋛  ⋜  ⋝  ⋞  ⋟ 
     22E.  ⋠  ⋡  ⋢  ⋣  ⋤  ⋥  ⋦  ⋧  ⋨  ⋩  ⋪  ⋫  ⋬  ⋭  ⋮  ⋯ 
     22F.  ⋰  ⋱  ⋲  ⋳  ⋴  ⋵  ⋶  ⋷  ⋸  ⋹  ⋺  ⋻  ⋼  ⋽  ⋾  ⋿ 
          .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
     300.     、  。  〃  〄  々  〆  〇  〈  〉  《  》  「  」  『  』 
     301.  【  】  〒  〓  〔  〕  〖  〗  〘  〙  〚  〛  〜  〝  〞  〟 
     302.  〠  〡  〢  〣  〤  〥  〦  〧  〨  〩   〪   〫   〬   〭   〮   〯 
     303.  〰  〱  〲  〳  〴  〵  〶  〷  〸  〹  〺  〻  〼  〽  〾  〿 
     304.  ぀  ぁ  あ  ぃ  い  ぅ  う  ぇ  え  ぉ  お  か  が  き  ぎ  く 
     305.  ぐ  け  げ  こ  ご  さ  ざ  し  じ  す  ず  せ  ぜ  そ  ぞ  た 
     306.  だ  ち  ぢ  っ  つ  づ  て  で  と  ど  な  に  ぬ  ね  の  は 
     307.  ば  ぱ  ひ  び  ぴ  ふ  ぶ  ぷ  へ  べ  ぺ  ほ  ぼ  ぽ  ま  み 
     308.  む  め  も  ゃ  や  ゅ  ゆ  ょ  よ  ら  り  る  れ  ろ  ゎ  わ 
     309.  ゐ  ゑ  を  ん  ゔ  ゕ  ゖ  ゗  ゘   ゙   ゚  ゛  ゜  ゝ  ゞ  ゟ 
     30A.  ゠  ァ  ア  ィ  イ  ゥ  ウ  ェ  エ  ォ  オ  カ  ガ  キ  ギ  ク 
     30B.  グ  ケ  ゲ  コ  ゴ  サ  ザ  シ  ジ  ス  ズ  セ  ゼ  ソ  ゾ  タ 
     30C.  ダ  チ  ヂ  ッ  ツ  ヅ  テ  デ  ト  ド  ナ  ニ  ヌ  ネ  ノ  ハ 
     30D.  バ  パ  ヒ  ビ  ピ  フ  ブ  プ  ヘ  ベ  ペ  ホ  ボ  ポ  マ  ミ 
     30E.  ム  メ  モ  ャ  ヤ  ュ  ユ  ョ  ヨ  ラ  リ  ル  レ  ロ  ヮ  ワ 
     30F.  ヰ  ヱ  ヲ  ン  ヴ  ヵ  ヶ  ヷ  ヸ  ヹ  ヺ  ・  ー  ヽ  ヾ  ヿ 

Typography Testing

Just some experiments with various typography.

§ Quotes

I wouldn’t mind using nice-looking quote marks for things.  HTML has a tag for inline quoting: the <q> tag.  Most browsers don’t quite work properly with it.

Here’s Exodus 8:1:

Then the Lord said to Moses, “Go to Pharaoh and tell him, ‘Thus says the Lord: “Release my people in order that they may serve me!” ’ ”

When rendered with <q> tags, it looks like this:

Then the Lord said to Moses, Go to Pharaoh and tell him, Thus says the Lord: Release my people in order that they may serve me!

A lot of browsers don’t get things right beyond two levels of nesting.  The standard is that nested quotes should alternate between single and double quotes.  (British usage often starts with single quote son the outside, while American usage starts with double quotes.)  In my testing, both Firefox (102) and Chrome (110) started with double quotes, used single quotes in the middle, but then used single quotes again for the innermost quotation.  (They also didn’t add any space between adjacent quote marks, which is often recommended in typesetting for legibility.)  elinks actually got the alternating quote marks right.  It also used straight quotes, not curly ones, but I can forgive that given the textual environment.

§ Column width

A simple rule of thumb is that a text’s line length should be set so that it contains between two and three repetitions of the lowercase alphabet.  (That’s a rule from print publishing; websites appear to be able to use longer lines without harming readability.  But the 2–3 alphabet rule isn’t a bad starting point.)

Here are lines containing two, three, and four repetitions of the lowercase alphabet:

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz

Terminal environments have centered around a 80-column display since at least the era of punch cards.  Here’s an 80-character line in <pre> tags:

         1         2         3         4         5         6         7         8
12345678901234567890123456789012345678901234567890123456789012345678901234567890

§ Sentence Spacing

There used to be some examples of different typography around end-of-sentence spacing here.  But those have since been subsumed into the sentence spacing post.


Iñtërnâtiônàlizætiøn

As suggested in AJAX Considered Harmful, I’m testing out blosxom’s URL-encoding.  In practice, the problems he raises aren’t much of a concern for me, since blosxom gets its URLs from the filenames, and I stick to ASCII for entries in my filesystem.

An interesting side note is that one of the pages he links to recommends not using extensions like “.html” for URLs, since they indicate formatting/delivery, not content.  Despite the presence of “.html” in my URLs, I’m actually fairly compliant with this, because blosxom treates that extension as a content request.  Still, it’d be better for the browser and server to do content negotiation.