Editing 1676: Full-Width Justification
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
==Explanation== | ==Explanation== | ||
− | The comic refers to an irritating problem in laying out text to fit from | + | {{incomplete|hasty & impatient placeholder. Still an early draft; needs citations, fact-checking, and it also needs the Wikipedia links to be fixed.}} |
+ | The comic refers to an irritating problem in laying out text to fit from edge to edge, the problem of {{w|justification (typesetting)|justification}}, where you want multiple-line text to line up on the left side (common), the right side (less common), or both sides, which is commonly called full justification. This strip is dealing with how to make text fit such that it lines up on both sides while still looking good. Sometimes, as before a long word like "[[:wikt:deindustrialization|deindustrialization]]," there's no universal good way to make the typography work. It is a difficult problem to make text look good and be easily legible especially in a narrow space, with the biggest issue being how to handle words that are too long to fit nicely. | ||
− | The comic shows several solutions to this problem, some realistic and others less so, but each | + | The comic shows several solutions to this problem, some realistic and others less so, but each unsatisfying. "'''Giving up'''" is ugly, leaving a line break which doesn't fit with the rest. "'''Letter spacing'''" looks pretty confusing as people may think it is an acronym. "'''Hyphenation'''" is also confusing as it often leaves two partial non-words ("deindus-" looks like an independent, unfamiliar word, pronounced "dayn-duss", whereas "trialization" seems like something having to do with trials, whether legal or tests), it requires more work on the reader's end to mentally recombine it into one word, and there are rules to follow on exactly where it is acceptable to split a word; nevertheless, this is the most common way of handling those extreme cases. "'''Stretching'''" is unnatural, probably hard to code or render, unfamiliar and quite ugly. Adding "'''Filler'''" words, a radical solution, could easily make the writing worse (in the case of the example, making the tone too informal), however it might be reasonable if the filler words are added by a human rather than by an automated process, especially if that human is the same one that wrote the original words. Finally, adding a meaningless image like "'''Snakes'''", just long enough to fill the extra space, is a novel (and quite bizarre) solution which probably wouldn't actually be used by a serious typographer.{{Citation needed}} |
− | " | + | The title text suggests that in order to facilitate this last method of "solving" the problem, the {{w|Unicode Consortium}}, the organization in charge of the common text standard {{w|Unicode}}, should add "snake-building characters" (similar in concept to the existing {{w|Box Drawing}} block), to allow variable-length snake images to be used as filling. Currently, there are two Unicode snakes, xF40D (🐍) and x1DC2 (᷂). The latter is a diacritical mark used in Americanist phonetic notation to indicate lenis (weak) articulation. |
− | + | The use of the phrase "non-breaking" in the title text is a play on {{w|non-breaking space}} and implies that an automatic line break could not be inserted after a snake segment; the whole snake would shift down if it were too wide to fit on a given line. This suggestion would likely be rejected; the Unicode consortium is very specific about which characters are added{{Citation needed}}, and always require a good reason{{Citation needed}} before adding a character or set of characters to the standard. Strange decisions by the consortium have previously been referenced in [[1253: Exoplanet Names]], [[1513: Code Quality]], and [[1525: Emojic 8 Ball]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Transcript== | ==Transcript== | ||
− | Strategies for full-width justification | + | :[Caption above the panels:] |
+ | :Strategies for full-width justification | ||
− | [Below the caption is a column with six boxes, each showing a different "strategy" for justification which is annotated beside it. Here the annotation is written at the top and the text below. The top and bottom of the text is cut of in the middle, but as it can be "read" this is written anyway. Only for hyphenation does an extra word appear at the end. In the last with snakes, a snake is drawn to cover the entire space from the end of between to the right border.] | + | :[Below the caption is a column with six boxes, each showing a different "strategy" for justification which is annotated beside it. Here the annotation is written at the top and the text below. The top and bottom of the text is cut of in the middle, but as it can be "read" this is written anyway. Only for hyphenation does an extra word appear at the end. In the last with snakes, a snake is drawn to cover the entire space from the end of between to the right border.] |
− | + | :Giving up | |
− | + | ::their famous paper | |
− | + | ::on the relationship | |
− | + | ::between | |
− | between | + | ::deindustrialization |
− | deindustrialization | + | ::and the growth of |
− | and the growth of | ||
− | + | :Letter spacing | |
− | + | ::their famous paper | |
− | + | ::on the relationship | |
− | + | ::b e t w e e n | |
− | deindustrialization | + | ::deindustrialization |
− | and the growth of | + | ::and the growth of |
− | + | :Hyphenation | |
− | + | ::their famous paper | |
− | + | ::on the relationship | |
− | + | ::between deindus- | |
− | trialization and the growth of ecological | + | ::trialization and the |
+ | ::growth of ecological | ||
− | + | :Stretching | |
− | + | ::their famous paper | |
− | + | ::on the relationship | |
− | < | + | ::<big><big><big>between</big></big></big> |
− | deindustrialization | + | ::deindustrialization |
− | and the growth of | + | ::and the growth of |
− | + | :Filler | |
− | + | ::their famous paper | |
− | + | ::on the relationship | |
− | between crap like | + | ::between crap like |
− | deindustrialization | + | ::deindustrialization |
− | and the growth of | + | ::and the growth of |
− | + | :Snakes | |
− | + | ::their famous paper | |
− | on the relationship | + | ::on the relationship |
− | between 🐍 [a snake filling the gap] | + | ::between 🐍 [a snake filling the gap] |
− | deindustrialization | + | ::deindustrialization |
− | and the growth of | + | ::and the growth of |
− | |||
− | |||
==Trivia== | ==Trivia== | ||
*The full text (with alternate changes) reads: | *The full text (with alternate changes) reads: | ||
::''...their famous paper on the relationship between [crap like]/[ 🐍 ] deindustrialization and the growth of [ecological]...'' | ::''...their famous paper on the relationship between [crap like]/[ 🐍 ] deindustrialization and the growth of [ecological]...'' | ||
− | *An approach not depicted is to treat justification as part of a | + | *An approach not depicted is to treat justification as part of a global typesetting strategy which allows words to move between lines even where this is not locally optimal. This approach is used by {{w|TeX}}. |
− | *In Arabic, it is common to stretch the lines connecting letters as a relatively elegant and satisfying resolution to this problem. This trick is called "{{w|kashida}}" (كشيدة). There does in fact exist a Unicode character, U+0640: (ـ), to help with this: using it to extend "كشيدة" would result in something like " | + | *In Arabic, it is common to stretch the lines connecting letters as a relatively elegant and satisfying resolution to this problem. This trick is called "{{w|kashida}}" (كشيدة). There does in fact exist a Unicode character, U+0640: (ـ), to help with this: using it to extend "كشيدة" would result in something like "كشـــــــــــيدة" (which, incidentally, looks a lot like a snake). |
− | *Jim Chapman, developer of Windows 10 e-reader app Freda, | + | *Jim Chapman, developer of Windows 10 e-reader app Freda, [http://www.teleread.com/xkcd-and-full-justification-by-snake/#comment-62118 has announced] the next version of Freda will incorporate snake-justification. |
− | |||
− | |||
− | |||
{{comic discussion}} | {{comic discussion}} | ||
+ | |||
[[Category:Animals]] | [[Category:Animals]] | ||
− |