{"entry_id": "b8de1385-ef44-41f8-8ea4-df19e87e09d0", "infos": [{"txt": "The Raster Tragedy at LowResolution Revisited", "language": "english", "position": {"atoms": [{"position_id": 0, "txt": "The Raster Tragedy at LowResolution Revisited", "x": "//title"}]}, "tags": [], "label": "O", "web_segment_id": 0, "global_sentence_id": 0, "edu_l1_label": "EDU_O"}, {"txt": "The Raster Tragedy at Low-Resolution Revisited:", "language": "english", "position": {"atoms": [{"position_id": 200, "txt": "The Raster Tragedy at Low-Resolution Revisited:", "x": "/html/body/div/p[1]/span[1]"}]}, "tags": [], "label": "article_title", "web_segment_id": 1, "global_sentence_id": 1, "edu_l1_label": "BOT"}, {"txt": "Opportunities and Challenges beyond “Delta-Hinting”", "language": "english", "position": {"atoms": [{"position_id": 202, "txt": "Opportunities and Challenges beyond “Delta-Hinting”", "x": "/html/body/div/p[1]/span[2]"}]}, "tags": [], "label": "article_title", "web_segment_id": 1, "global_sentence_id": 2, "edu_l1_label": "BOT"}, {"txt": "Beat Stamm, PhDPhysicist, Computer Scientist, and Aspiring Artist", "language": "english", "position": {"atoms": [{"position_id": 204, "txt": "Beat Stamm", "x": "/html/body/div/p[2]/span[1]/a"}, {"position_id": 206, "txt": ", PhD", "x": "/html/body/div/p[2]/span[1]/a"}, {"position_id": 208, "txt": "Physicist, Computer Scientist, and Aspiring Artist", "x": "/html/body/div/p[2]/span[2]"}]}, "tags": [], "label": "author", "web_segment_id": 3, "global_sentence_id": 3, "edu_l1_label": "EDU_O"}, {"txt": "<table <table align=\"center\" position_id=\"18\"><tbody align=\"center\" position_id=\"19\"><tr position_id=\"20\"><td style=\"border: 0; text-align: left; vertical-align: top\" width=\"33%\" position_id=\"21\"><em position_id=\"22\">Are you a Repeat Visitor?</em><br position_id=\"23\"/> → Check out <a href=\"#New\" position_id=\"24\">What’s New?</a><br position_id=\"25\"/> → Select a chapter on your right<br position_id=\"26\"/> <br position_id=\"27\"/> <em position_id=\"28\">Are you a First Time Visitor?</em><br position_id=\"29\"/> Consider starting here:<br position_id=\"30\"/> → <a href=\"#What\" position_id=\"31\">What is this “Raster Tragedy?”</a><br position_id=\"32\"/> → <a href=\"#Guide\" position_id=\"33\">Guide to the Reader</a><br position_id=\"34\"/></td><td style=\"border: 0; text-align: left; vertical-align: top\" width=\"33%\" position_id=\"53\">Beyond the Raster Tragedy:<br position_id=\"54\"/> → <a href=\"PR.htm\" position_id=\"55\">Parameterized Regularization</a><br position_id=\"56\"/> <br position_id=\"57\"/> <em position_id=\"58\">Search may require some time for<br position_id=\"59\"/> the web crawlers to catch up with<br position_id=\"60\"/> a recent website host transfer.<br position_id=\"61\"/> It should be back shortly.</em><br position_id=\"62\"/> <br position_id=\"63\"/> <form action=\"http://www.google.com/search\" name=\"searchform\" position_id=\"64\"/></td></tr></tbody></table>", "language": "english", "position": {"atoms": [{"position_id": 18, "txt": "<table <table align=\"center\" position_id=\"18\"><tbody align=\"center\" position_id=\"19\"><tr position_id=\"20\"><td style=\"border: 0; text-align: left; vertical-align: top\" width=\"33%\" position_id=\"21\"><em position_id=\"22\">Are you a Repeat Visitor?</em><br position_id=\"23\"/> → Check out <a href=\"#New\" position_id=\"24\">What’s New?</a><br position_id=\"25\"/> → Select a chapter on your right<br position_id=\"26\"/> <br position_id=\"27\"/> <em position_id=\"28\">Are you a First Time Visitor?</em><br position_id=\"29\"/> Consider starting here:<br position_id=\"30\"/> → <a href=\"#What\" position_id=\"31\">What is this “Raster Tragedy?”</a><br position_id=\"32\"/> → <a href=\"#Guide\" position_id=\"33\">Guide to the Reader</a><br position_id=\"34\"/></td><td style=\"border: 0; text-align: left; vertical-align: top\" width=\"33%\" position_id=\"53\">Beyond the Raster Tragedy:<br position_id=\"54\"/> → <a href=\"PR.htm\" position_id=\"55\">Parameterized Regularization</a><br position_id=\"56\"/> <br position_id=\"57\"/> <em position_id=\"58\">Search may require some time for<br position_id=\"59\"/> the web crawlers to catch up with<br position_id=\"60\"/> a recent website host transfer.<br position_id=\"61\"/> It should be back shortly.</em><br position_id=\"62\"/> <br position_id=\"63\"/> <form action=\"http://www.google.com/search\" name=\"searchform\" position_id=\"64\"/></td></tr></tbody></table>", "x": "/html/body/div/table"}]}, "tags": ["table"], "label": "table", "web_segment_id": 5, "global_sentence_id": 4, "edu_l1_label": "EDU_O"}, {"txt": "What Others are Saying:", "language": "english", "position": {"atoms": [{"position_id": 210, "txt": "What Others are Saying:", "x": "/html/body/div/h2[1]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 6, "global_sentence_id": 5, "edu_l1_label": "BOS"}, {"txt": "John Hudson, Tiro Typeworks:", "language": "english", "position": {"atoms": [{"position_id": 212, "txt": "John Hudson", "x": "/html/body/div/p[3]/a[1]"}, {"position_id": 214, "txt": ", ", "x": "/html/body/div/p[3]/a[1]"}, {"position_id": 216, "txt": "Tiro Typeworks", "x": "/html/body/div/p[3]/a[2]"}, {"position_id": 218, "txt": ":", "x": "/html/body/div/p[3]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 7, "global_sentence_id": 6, "edu_l1_label": "IOS"}, {"txt": "All of Chapter 6 should be required reading, and then required re-reading.", "language": "english", "position": {"atoms": [{"position_id": 220, "txt": "All of ", "x": "/html/body/div/p[3]/em"}, {"position_id": 222, "txt": "Chapter 6", "x": "/html/body/div/p[3]/em/a"}, {"position_id": 224, "txt": " should be required reading, and then required re-reading.", "x": "/html/body/div/p[3]/em/a"}]}, "tags": ["em"], "label": "content", "web_segment_id": 7, "global_sentence_id": 7, "edu_l1_label": "IOS"}, {"txt": "Thomas Phinney, CEO of FontLab:", "language": "english", "position": {"atoms": [{"position_id": 226, "txt": "Thomas Phinney", "x": "/html/body/div/p[4]/a[1]"}, {"position_id": 228, "txt": ", ", "x": "/html/body/div/p[4]/a[1]"}, {"position_id": 230, "txt": "CEO of FontLab", "x": "/html/body/div/p[4]/a[2]"}, {"position_id": 232, "txt": ":", "x": "/html/body/div/p[4]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 8, "global_sentence_id": 8, "edu_l1_label": "IOS"}, {"txt": "If you want to understand font rendering on screen, read this.", "language": "english", "position": {"atoms": [{"position_id": 234, "txt": "If you want to understand font rendering on screen, read this.", "x": "/html/body/div/p[4]/em"}]}, "tags": ["em"], "label": "content", "web_segment_id": 8, "global_sentence_id": 9, "edu_l1_label": "IOS"}, {"txt": " [...] Highly recommended.", "language": "english", "position": {"atoms": [{"position_id": 235, "txt": " [...] Highly recommended.", "x": "/html/body/div/p[4]/em"}]}, "tags": ["em"], "label": "content", "web_segment_id": 8, "global_sentence_id": 10, "edu_l1_label": "IOS"}, {"txt": "Erik Spiekermann (via Twitter), SpiekerBlog:", "language": "english", "position": {"atoms": [{"position_id": 237, "txt": "Erik Spiekermann (via Twitter)", "x": "/html/body/div/p[5]/a[1]"}, {"position_id": 239, "txt": ", ", "x": "/html/body/div/p[5]/a[1]"}, {"position_id": 241, "txt": "SpiekerBlog", "x": "/html/body/div/p[5]/a[2]"}, {"position_id": 243, "txt": ":", "x": "/html/body/div/p[5]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 9, "global_sentence_id": 11, "edu_l1_label": "IOS"}, {"txt": "Required reading for anybody who has to make words on screens.", "language": "english", "position": {"atoms": [{"position_id": 245, "txt": "Required reading for anybody who has to make words on screens.", "x": "/html/body/div/p[5]/em"}]}, "tags": ["em"], "label": "content", "web_segment_id": 9, "global_sentence_id": 12, "edu_l1_label": "IOS"}, {"txt": "Jonathan Hœfler (via Twitter), Hœfler & Co.:", "language": "english", "position": {"atoms": [{"position_id": 247, "txt": "Jonathan Hœfler (via Twitter)", "x": "/html/body/div/p[6]/a[1]"}, {"position_id": 249, "txt": ", ", "x": "/html/body/div/p[6]/a[1]"}, {"position_id": 251, "txt": "Hœfler & Co.", "x": "/html/body/div/p[6]/a[2]"}, {"position_id": 253, "txt": ":", "x": "/html/body/div/p[6]/a[2]"}]}, "tags": [], "label": "content", "web_segment_id": 10, "global_sentence_id": 13, "edu_l1_label": "IOS"}, {"txt": "Those wondering “why webfonts take so long” are hereby directed to Beat Stamm’s excellent resource.", "language": "english", "position": {"atoms": [{"position_id": 255, "txt": "Those wondering “why webfonts take so long” are hereby directed to Beat Stamm’s excellent resource.", "x": "/html/body/div/p[6]/em"}]}, "tags": ["em"], "label": "content", "web_segment_id": 10, "global_sentence_id": 14, "edu_l1_label": "IOS"}, {"txt": "What’s New?", "language": "english", "position": {"atoms": [{"position_id": 257, "txt": "What’s New?", "x": "/html/body/div/h2[2]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 11, "global_sentence_id": 15, "edu_l1_label": "BOS"}, {"txt": "2018-06-21", "language": "english", "position": {"atoms": [{"position_id": 259, "txt": "2018-06-21", "x": "/html/body/div/p[7]"}]}, "tags": [], "label": "content", "web_segment_id": 12, "global_sentence_id": 16, "edu_l1_label": "IOS"}, {"txt": "Added a growing list of chapters on “Parameterized Regularization” illustrating my distinctly different view on what the rest of the font making community may call “hinting.”", "language": "english", "position": {"atoms": [{"position_id": 261, "txt": "Added a growing list of chapters on “Parameterized Regularization” illustrating my distinctly different view on what the rest of the font making community may call “hinting.”", "x": "/html/body/div/ul[1]/li"}]}, "tags": ["li"], "label": "content", "web_segment_id": 13, "global_sentence_id": 17, "edu_l1_label": "IOS"}, {"txt": " I’ll try to keep this as non-technical as possible but please bear with me—sometimes we simply have to discuss bare naked pixels (cf Parameterized Regularization)", "language": "english", "position": {"atoms": [{"position_id": 262, "txt": " I’ll try to keep this as non-technical as possible but please bear with me—sometimes we simply have to discuss bare naked pixels (cf ", "x": "/html/body/div/ul[1]/li"}, {"position_id": 264, "txt": "Parameterized Regularization", "x": "/html/body/div/ul[1]/li/a"}, {"position_id": 266, "txt": ")", "x": "/html/body/div/ul[1]/li/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 13, "global_sentence_id": 18, "edu_l1_label": "IOS"}, {"txt": "2011-12-07", "language": "english", "position": {"atoms": [{"position_id": 268, "txt": "2011-12-07", "x": "/html/body/div/p[9]"}]}, "tags": [], "label": "content", "web_segment_id": 14, "global_sentence_id": 19, "edu_l1_label": "IOS"}, {"txt": "Added an illustrated explanation of dropout control when combined with anti-aliasing, including full-pixel and sub-pixel anti-aliasing (cf 4.1.3)", "language": "english", "position": {"atoms": [{"position_id": 270, "txt": "Added an illustrated explanation of ", "x": "/html/body/div/ul[2]/li"}, {"position_id": 272, "txt": "dropout control", "x": "/html/body/div/ul[2]/li/em"}, {"position_id": 274, "txt": " when combined with anti-aliasing, including full-pixel and sub-pixel anti-aliasing (cf ", "x": "/html/body/div/ul[2]/li/em"}, {"position_id": 276, "txt": "4.1.3", "x": "/html/body/div/ul[2]/li/a"}, {"position_id": 278, "txt": ")", "x": "/html/body/div/ul[2]/li/a"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 15, "global_sentence_id": 20, "edu_l1_label": "IOS"}, {"txt": "2011-09-14", "language": "english", "position": {"atoms": [{"position_id": 280, "txt": "2011-09-14", "x": "/html/body/div/p[11]"}]}, "tags": [], "label": "content", "web_segment_id": 16, "global_sentence_id": 21, "edu_l1_label": "IOS"}, {"txt": "Spun off ClearType (cf 2.2.0) and added a comparison of sub-pixel anti-aliasing methods (ClearType, CoolType, FreeType, and Quartz, cf 2.2.1)", "language": "english", "position": {"atoms": [{"position_id": 282, "txt": "Spun off ClearType (cf ", "x": "/html/body/div/ul[3]/li[1]"}, {"position_id": 284, "txt": "2.2.0", "x": "/html/body/div/ul[3]/li[1]/a[1]"}, {"position_id": 286, "txt": ") and added a comparison of sub-pixel anti-aliasing methods (ClearType, CoolType, FreeType, and Quartz, cf ", "x": "/html/body/div/ul[3]/li[1]/a[1]"}, {"position_id": 288, "txt": "2.2.1", "x": "/html/body/div/ul[3]/li[1]/a[2]"}, {"position_id": 290, "txt": ")", "x": "/html/body/div/ul[3]/li[1]/a[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 17, "global_sentence_id": 22, "edu_l1_label": "IOS"}, {"txt": "Added an analysis of inter-character “spacing” in DirectWrite (cf 4.2.2) and a comparison of text layout with different advance widths (cf 4.2.3)", "language": "english", "position": {"atoms": [{"position_id": 292, "txt": "Added an analysis of inter-character “spacing” in DirectWrite (cf ", "x": "/html/body/div/ul[3]/li[2]"}, {"position_id": 294, "txt": "4.2.2", "x": "/html/body/div/ul[3]/li[2]/a[1]"}, {"position_id": 296, "txt": ") and a comparison of text layout with different advance widths (cf ", "x": "/html/body/div/ul[3]/li[2]/a[1]"}, {"position_id": 298, "txt": "4.2.3", "x": "/html/body/div/ul[3]/li[2]/a[2]"}, {"position_id": 300, "txt": ")", "x": "/html/body/div/ul[3]/li[2]/a[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 18, "global_sentence_id": 23, "edu_l1_label": "IOS"}, {"txt": "Revised the explanation on rendering sub-pixel anti-aliased text (ClearType) in color-on-color (cf 5.2) and its sensitivity to gamma correction (cf 5.3)", "language": "english", "position": {"atoms": [{"position_id": 302, "txt": "Revised the explanation on rendering sub-pixel anti-aliased text (ClearType) in color-on-color (cf ", "x": "/html/body/div/ul[3]/li[3]"}, {"position_id": 304, "txt": "5.2", "x": "/html/body/div/ul[3]/li[3]/a[1]"}, {"position_id": 306, "txt": ") and its sensitivity to gamma correction (cf ", "x": "/html/body/div/ul[3]/li[3]/a[1]"}, {"position_id": 308, "txt": "5.3", "x": "/html/body/div/ul[3]/li[3]/a[2]"}, {"position_id": 310, "txt": ")", "x": "/html/body/div/ul[3]/li[3]/a[2]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 19, "global_sentence_id": 24, "edu_l1_label": "IOS"}, {"txt": "What is this “Raster Tragedy?”", "language": "english", "position": {"atoms": [{"position_id": 312, "txt": "What is this “Raster Tragedy?”", "x": "/html/body/div/h2[3]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 20, "global_sentence_id": 25, "edu_l1_label": "BOS"}, {"txt": "At a training session on occasion of the OpenType Font Jamboree in 1997, I gave a presentation about rendering outline fonts on low-resolution screens.", "language": "english", "position": {"atoms": [{"position_id": 314, "txt": "At a training session on occasion of the ", "x": "/html/body/div/p[13]"}, {"position_id": 316, "txt": "OpenType Font Jamboree", "x": "/html/body/div/p[13]/a/em"}, {"position_id": 318, "txt": " in 1997, I gave a presentation about rendering outline fonts on low-resolution screens.", "x": "/html/body/div/p[13]/a"}]}, "tags": ["em"], "label": "content", "web_segment_id": 21, "global_sentence_id": 26, "edu_l1_label": "IOS"}, {"txt": " At the time, text was rendered in “black-and-white” by turning pixels “on” or “off.”", "language": "english", "position": {"atoms": [{"position_id": 319, "txt": " At the time, text was rendered in “black-and-white” by turning pixels “on” or “off.”", "x": "/html/body/div/p[13]/a"}]}, "tags": [], "label": "content", "web_segment_id": 21, "global_sentence_id": 27, "edu_l1_label": "IOS"}, {"txt": " I illustrated how naïvely scaling the outlines and turning “on” the pixels inside the scaled outlines resulted in severely malformed characters.", "language": "english", "position": {"atoms": [{"position_id": 320, "txt": " I illustrated how naïvely scaling the outlines and turning “on” the pixels inside the scaled outlines resulted in severely malformed characters.", "x": "/html/body/div/p[13]/a"}]}, "tags": [], "label": "content", "web_segment_id": 21, "global_sentence_id": 28, "edu_l1_label": "IOS"}, {"txt": "Shortly thereafter, the slides of the presentation were converted to <html> and added to the Microsoft Typography website as The Raster Tragedy at Low Resolution.", "language": "english", "position": {"atoms": [{"position_id": 322, "txt": "Shortly thereafter, the slides of the presentation were converted to ", "x": "/html/body/div/p[14]"}, {"position_id": 324, "txt": "<html>", "x": "/html/body/div/p[14]/code"}, {"position_id": 326, "txt": " and added to the Microsoft Typography website as ", "x": "/html/body/div/p[14]/code"}, {"position_id": 328, "txt": "The Raster Tragedy at Low Resolution", "x": "/html/body/div/p[14]/a[1]/em"}, {"position_id": 330, "txt": ".", "x": "/html/body/div/p[14]/a[1]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 22, "global_sentence_id": 29, "edu_l1_label": "IOS"}, {"txt": " Over time, a surprising number of documents in cyberspace started to refer to the Raster Tragedy—amongst others, threads on Typophile (cf also Typophile), patents granted by the US Patent Office, and encyclopedia articles on Wikipedia.", "language": "english", "position": {"atoms": [{"position_id": 331, "txt": " Over time, a surprising number of ", "x": "/html/body/div/p[14]/a[1]"}, {"position_id": 333, "txt": "documents in cyberspace", "x": "/html/body/div/p[14]/a[2]/em"}, {"position_id": 335, "txt": " started to refer to the ", "x": "/html/body/div/p[14]/a[2]"}, {"position_id": 337, "txt": "Raster Tragedy", "x": "/html/body/div/p[14]/em[1]"}, {"position_id": 339, "txt": "—amongst others, threads on ", "x": "/html/body/div/p[14]/em[1]"}, {"position_id": 341, "txt": "Typophile", "x": "/html/body/div/p[14]/a[3]/em"}, {"position_id": 343, "txt": " (cf also ", "x": "/html/body/div/p[14]/a[3]"}, {"position_id": 345, "txt": "Typophile", "x": "/html/body/div/p[14]/a[4]/em"}, {"position_id": 347, "txt": "), patents granted by the ", "x": "/html/body/div/p[14]/a[4]"}, {"position_id": 349, "txt": "US Patent Office", "x": "/html/body/div/p[14]/a[5]/em"}, {"position_id": 351, "txt": ", and encyclopedia articles on ", "x": "/html/body/div/p[14]/a[5]"}, {"position_id": 353, "txt": "Wikipedia", "x": "/html/body/div/p[14]/a[6]/em"}, {"position_id": 355, "txt": ".", "x": "/html/body/div/p[14]/a[6]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 22, "global_sentence_id": 30, "edu_l1_label": "IOS"}, {"txt": " Eventually, some of these references also started to point out that while its fundamentals may still be valid, the Raster Tragedy does not address any anti-aliasing methods.", "language": "english", "position": {"atoms": [{"position_id": 356, "txt": " Eventually, some of these references also started to point out that while its fundamentals may still be valid, the ", "x": "/html/body/div/p[14]/a[6]"}, {"position_id": 358, "txt": "Raster Tragedy", "x": "/html/body/div/p[14]/em[2]"}, {"position_id": 360, "txt": " does not address any anti-aliasing methods.", "x": "/html/body/div/p[14]/em[2]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 22, "global_sentence_id": 31, "edu_l1_label": "IOS"}, {"txt": "Accordingly, I started contributing to discussions in mailing lists and on Typophile.", "language": "english", "position": {"atoms": [{"position_id": 362, "txt": "Accordingly, I started contributing to discussions in mailing lists and on ", "x": "/html/body/div/p[15]"}, {"position_id": 364, "txt": "Typophile", "x": "/html/body/div/p[15]/a[1]/em"}, {"position_id": 366, "txt": ".", "x": "/html/body/div/p[15]/a[1]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 23, "global_sentence_id": 32, "edu_l1_label": "IOS"}, {"txt": " But without “infrastructure” to build upon by reference, there is only so much content you can cram into a single post and keep it self-contained.", "language": "english", "position": {"atoms": [{"position_id": 367, "txt": " But without “infrastructure” to build upon by reference, there is only so much content you can cram into a single post ", "x": "/html/body/div/p[15]/a[1]"}, {"position_id": 369, "txt": "and", "x": "/html/body/div/p[15]/em[1]"}, {"position_id": 371, "txt": " keep it self-contained.", "x": "/html/body/div/p[15]/em[1]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 23, "global_sentence_id": 33, "edu_l1_label": "IOS"}, {"txt": " For instance, in ClearType, in XP and Vista on Typophile I tried to explain the Raster Tragedies of Text Layout—a post which promptly got quoted slightly out-of-context in Wikipedia’s page on ClearType[1].", "language": "english", "position": {"atoms": [{"position_id": 372, "txt": " For instance, in ", "x": "/html/body/div/p[15]/em[1]"}, {"position_id": 374, "txt": "ClearType, in XP and Vista", "x": "/html/body/div/p[15]/a[2]/em"}, {"position_id": 376, "txt": " on Typophile I tried to explain the ", "x": "/html/body/div/p[15]/a[2]"}, {"position_id": 378, "txt": "Raster Tragedies of Text Layout", "x": "/html/body/div/p[15]/em[2]"}, {"position_id": 380, "txt": "—a post which promptly got quoted slightly out-of-context in Wikipedia’s page on ", "x": "/html/body/div/p[15]/em[2]"}, {"position_id": 382, "txt": "ClearType", "x": "/html/body/div/p[15]/a[3]/em"}, {"position_id": 384, "txt": "[1]", "x": "/html/body/div/p[15]/a[4]/span"}, {"position_id": 386, "txt": ".", "x": "/html/body/div/p[15]/a[4]"}]}, "tags": ["em"], "label": "content", "web_segment_id": 23, "global_sentence_id": 34, "edu_l1_label": "IOS"}, {"txt": "Therefore I eventually decided to put it all together in one place, instead of scattering individual answers to the font rendering puzzle, in hopes that this may be of any use to end-users, font makers, and software developers alike.", "language": "english", "position": {"atoms": [{"position_id": 388, "txt": "Therefore I eventually decided to put it all together in one place, instead of scattering individual answers to the font rendering puzzle, in hopes that this may be of any use to end-users, font makers, and software developers alike.", "x": "/html/body/div/p[16]"}]}, "tags": [], "label": "content", "web_segment_id": 24, "global_sentence_id": 35, "edu_l1_label": "IOS"}, {"txt": " This website is the result of this endeavor.", "language": "english", "position": {"atoms": [{"position_id": 389, "txt": " This website is the result of this endeavor.", "x": "/html/body/div/p[16]"}]}, "tags": [], "label": "content", "web_segment_id": 24, "global_sentence_id": 36, "edu_l1_label": "IOS"}, {"txt": " And last but not least, the phrase Raster Tragedy originates in a publication by URW’s Peter Karow[2]—credit where credit is due!", "language": "english", "position": {"atoms": [{"position_id": 390, "txt": " And last but not least, the phrase ", "x": "/html/body/div/p[16]"}, {"position_id": 392, "txt": "Raster Tragedy", "x": "/html/body/div/p[16]/em"}, {"position_id": 394, "txt": " originates in a publication by URW’s Peter Karow", "x": "/html/body/div/p[16]/em"}, {"position_id": 396, "txt": "[2]", "x": "/html/body/div/p[16]/a/span"}, {"position_id": 398, "txt": "—credit where credit is due!", "x": "/html/body/div/p[16]/a"}]}, "tags": ["em"], "label": "content", "web_segment_id": 24, "global_sentence_id": 37, "edu_l1_label": "IOS"}, {"txt": "Guide to the Reader", "language": "english", "position": {"atoms": [{"position_id": 400, "txt": "Guide to the Reader", "x": "/html/body/div/h2[4]"}]}, "tags": ["h2"], "label": "title1", "web_segment_id": 25, "global_sentence_id": 38, "edu_l1_label": "BOS"}, {"txt": "This website comprises enough material to qualify for a serious academic textbook.", "language": "english", "position": {"atoms": [{"position_id": 402, "txt": "This website comprises enough material to qualify for a serious academic textbook.", "x": "/html/body/div/p[17]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 39, "edu_l1_label": "IOS"}, {"txt": " Rendering text on today’s screens is a surprisingly complex subject, since it touches on a broad range of topics from the sampling theorem over computational geometry to general software engineering—with all of the above guided by artistic decisions.", "language": "english", "position": {"atoms": [{"position_id": 403, "txt": " Rendering text on today’s screens is a surprisingly complex subject, since it touches on a broad range of topics from the sampling theorem over computational geometry to general software engineering—with all of the above guided by artistic decisions.", "x": "/html/body/div/p[17]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 40, "edu_l1_label": "IOS"}, {"txt": " To help you navigate this website and make the best use of your time, following is a quick guide to the casual visitor.", "language": "english", "position": {"atoms": [{"position_id": 404, "txt": " To help you navigate this website and make the best use of your time, following is a quick guide to the casual visitor.", "x": "/html/body/div/p[17]"}]}, "tags": [], "label": "content", "web_segment_id": 26, "global_sentence_id": 41, "edu_l1_label": "IOS"}, {"txt": "If your time is limited, and if you don’t mind tracking links referring to earlier chapters, consider chapter 6 as the core of this website, flanked by the introduction in chapter 0 and the conclusions in chapter 7. Chapter 6 defines the frequently misunderstood concept of “hinting” along with its relationships to text rendering and text layout methods, and concludes with considerations to move naïve “hinting” from “pixel popping” to computer programming.", "language": "english", "position": {"atoms": [{"position_id": 406, "txt": "If your time is limited, and if you don’t mind tracking links referring to earlier chapters, consider chapter ", "x": "/html/body/div/p[18]"}, {"position_id": 408, "txt": "6", "x": "/html/body/div/p[18]/a[1]"}, {"position_id": 410, "txt": " as the core of this website, flanked by the introduction in chapter ", "x": "/html/body/div/p[18]/a[1]"}, {"position_id": 412, "txt": "0", "x": "/html/body/div/p[18]/a[2]"}, {"position_id": 414, "txt": " and the conclusions in chapter ", "x": "/html/body/div/p[18]/a[2]"}, {"position_id": 416, "txt": "7", "x": "/html/body/div/p[18]/a[3]"}, {"position_id": 418, "txt": ". Chapter ", "x": "/html/body/div/p[18]/a[3]"}, {"position_id": 420, "txt": "6", "x": "/html/body/div/p[18]/a[4]"}, {"position_id": 422, "txt": " defines the frequently misunderstood concept of “hinting” along with its relationships to text rendering and text layout methods, and concludes with considerations to move naïve “hinting” from “pixel popping” to computer programming.", "x": "/html/body/div/p[18]/a[4]"}]}, "tags": [], "label": "content", "web_segment_id": 27, "global_sentence_id": 42, "edu_l1_label": "IOS"}, {"txt": "If you are serious about rendering text on today’s screens, consider chapters 1 through 5 as the pre-requisite “infrastructure” to fully understanding chapter 6. In particular:", "language": "english", "position": {"atoms": [{"position_id": 424, "txt": "If you are serious about rendering text on today’s screens, consider chapters ", "x": "/html/body/div/p[19]"}, {"position_id": 426, "txt": "1", "x": "/html/body/div/p[19]/a[1]"}, {"position_id": 428, "txt": " through ", "x": "/html/body/div/p[19]/a[1]"}, {"position_id": 430, "txt": "5", "x": "/html/body/div/p[19]/a[2]"}, {"position_id": 432, "txt": " as the pre-requisite “infrastructure” to fully understanding chapter ", "x": "/html/body/div/p[19]/a[2]"}, {"position_id": 434, "txt": "6", "x": "/html/body/div/p[19]/a[3]"}, {"position_id": 436, "txt": ". In particular:", "x": "/html/body/div/p[19]/a[3]"}]}, "tags": [], "label": "content", "web_segment_id": 28, "global_sentence_id": 43, "edu_l1_label": "IOS"}, {"txt": "Chapter 1 discusses the theoretical foundations behind most if not all of the “Raster Tragedies.”", "language": "english", "position": {"atoms": [{"position_id": 438, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[1]"}, {"position_id": 440, "txt": "1", "x": "/html/body/div/ul[4]/li[1]/a"}, {"position_id": 442, "txt": " discusses the theoretical foundations behind most if not all of the “Raster Tragedies.”", "x": "/html/body/div/ul[4]/li[1]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 29, "global_sentence_id": 44, "edu_l1_label": "IOS"}, {"txt": " It uses plenty of bi-level (“black-and-white”) examples because it is easier to see the problems in bi-level than in any of the anti-aliasing (“font-smoothing”) methods used in subsequent chapters.", "language": "english", "position": {"atoms": [{"position_id": 443, "txt": " It uses plenty of bi-level (“black-and-white”) examples because it is easier to see the problems in bi-level than in any of the anti-aliasing (“font-smoothing”) methods used in subsequent chapters.", "x": "/html/body/div/ul[4]/li[1]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 29, "global_sentence_id": 45, "edu_l1_label": "IOS"}, {"txt": " If you are uncomfortable with the basic high school level math used in the process, try to follow at least the numerical examples that add or subtract pixels, and be sure to read all the recaps in plain English.", "language": "english", "position": {"atoms": [{"position_id": 444, "txt": " If you are uncomfortable with the basic high school level math used in the process, try to follow at least the numerical examples that add or subtract pixels, and be sure to read all the recaps in plain English.", "x": "/html/body/div/ul[4]/li[1]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 29, "global_sentence_id": 46, "edu_l1_label": "IOS"}, {"txt": "Chapter 2 introduces anti-aliasing (“font-smoothing”) methods, including sub-pixel anti-aliasing (ClearType, CoolType, FreeType, Quartz), explains how they work (to the degree that this can be illustrated without using very advanced math), and compares them with each other and with bi-level (“black-and-white”) rendering.", "language": "english", "position": {"atoms": [{"position_id": 446, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[2]"}, {"position_id": 448, "txt": "2", "x": "/html/body/div/ul[4]/li[2]/a"}, {"position_id": 450, "txt": " introduces anti-aliasing (“font-smoothing”) methods, including sub-pixel anti-aliasing (ClearType, CoolType, FreeType, Quartz), explains how they work (to the degree that this can be illustrated without using ", "x": "/html/body/div/ul[4]/li[2]/a"}, {"position_id": 452, "txt": "very", "x": "/html/body/div/ul[4]/li[2]/em"}, {"position_id": 454, "txt": " advanced math), and compares them with each other and with bi-level (“black-and-white”) rendering.", "x": "/html/body/div/ul[4]/li[2]/em"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 30, "global_sentence_id": 47, "edu_l1_label": "IOS"}, {"txt": " Full-pixel anti-aliasing (aka plain “gray-scaling,” or Windows’ “standard font-smoothing”) in particular should be easy enough to grasp in order to acquire an intuitive understanding for the opportunities that all anti-aliasing methods promise.", "language": "english", "position": {"atoms": [{"position_id": 455, "txt": " Full-pixel anti-aliasing (aka plain “gray-scaling,” or Windows’ “standard font-smoothing”) in particular should be easy enough to grasp in order to acquire an intuitive understanding for the opportunities that all anti-aliasing methods promise.", "x": "/html/body/div/ul[4]/li[2]/em"}]}, "tags": ["em", "li"], "label": "content", "web_segment_id": 30, "global_sentence_id": 48, "edu_l1_label": "IOS"}, {"txt": "Chapter 3 illustrates a range of opportunities that become available when using anti-aliasing methods for rendering text.", "language": "english", "position": {"atoms": [{"position_id": 457, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[3]"}, {"position_id": 459, "txt": "3", "x": "/html/body/div/ul[4]/li[3]/a"}, {"position_id": 461, "txt": " illustrates a range of opportunities that become available when using anti-aliasing methods for rendering text.", "x": "/html/body/div/ul[4]/li[3]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 31, "global_sentence_id": 49, "edu_l1_label": "IOS"}, {"txt": " Anti-aliasing does not increase the physical resolution of today’s screens—it does not increase the number of pixels per (square) inch—but it can defuse many of the problems of bi-level (“black-and-white”) rendering.", "language": "english", "position": {"atoms": [{"position_id": 462, "txt": " Anti-aliasing does ", "x": "/html/body/div/ul[4]/li[3]/a"}, {"position_id": 464, "txt": "not", "x": "/html/body/div/ul[4]/li[3]/em[1]"}, {"position_id": 466, "txt": " increase the physical resolution of today’s screens—it does ", "x": "/html/body/div/ul[4]/li[3]/em[1]"}, {"position_id": 468, "txt": "not", "x": "/html/body/div/ul[4]/li[3]/em[2]"}, {"position_id": 470, "txt": " increase the number of pixels per (square) inch—but it ", "x": "/html/body/div/ul[4]/li[3]/em[2]"}, {"position_id": 472, "txt": "can", "x": "/html/body/div/ul[4]/li[3]/em[3]"}, {"position_id": 474, "txt": " defuse many of the problems of bi-level (“black-and-white”) rendering.", "x": "/html/body/div/ul[4]/li[3]/em[3]"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 31, "global_sentence_id": 50, "edu_l1_label": "IOS"}, {"txt": " Just be sure to acquire an intuitive grasp of the Anti-Aliasing “Exclusion Principle” to see what can or cannot be done, no matter how fancy the names for the particular anti-aliasing method.", "language": "english", "position": {"atoms": [{"position_id": 475, "txt": " Just be sure to acquire an intuitive grasp of the ", "x": "/html/body/div/ul[4]/li[3]/em[3]"}, {"position_id": 477, "txt": "Anti-Aliasing “Exclusion Principle”", "x": "/html/body/div/ul[4]/li[3]/em[4]"}, {"position_id": 479, "txt": " to see what can or cannot be done, no matter how fancy the names for the particular anti-aliasing method.", "x": "/html/body/div/ul[4]/li[3]/em[4]"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 31, "global_sentence_id": 51, "edu_l1_label": "IOS"}, {"txt": " Likewise, be sure to use the respective “mouseovers” to experience the impact of using fractional advance widths and fractional ppem sizes.", "language": "english", "position": {"atoms": [{"position_id": 480, "txt": " Likewise, be sure to use the respective “mouseovers” to experience the impact of using fractional advance widths and fractional ppem sizes.", "x": "/html/body/div/ul[4]/li[3]/em[4]"}]}, "tags": ["em", "li"], "label": "content", "web_segment_id": 31, "global_sentence_id": 52, "edu_l1_label": "IOS"}, {"txt": "Chapter 4 discusses a range of challenges pertaining to the TrueType rasterizer on Windows platforms.", "language": "english", "position": {"atoms": [{"position_id": 482, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[4]"}, {"position_id": 484, "txt": "4", "x": "/html/body/div/ul[4]/li[4]/a[1]"}, {"position_id": 486, "txt": " discusses a range of challenges pertaining to the TrueType rasterizer on Windows platforms.", "x": "/html/body/div/ul[4]/li[4]/a[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 32, "global_sentence_id": 53, "edu_l1_label": "IOS"}, {"txt": " It may very well be the most “technical” chapter of them all, but don’t let this turn you off altogether:", "language": "english", "position": {"atoms": [{"position_id": 487, "txt": " It may very well be the most “technical” chapter of them all, but don’t let this turn you off altogether:", "x": "/html/body/div/ul[4]/li[4]/a[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 32, "global_sentence_id": 54, "edu_l1_label": "IOS"}, {"txt": " Similar to Chapter 1, if you are uncomfortable with the basic high school level math or the TrueType code examples used in the process, try to get at least an intuitive understanding from the illustrations and the recap paragraphs in plain English.", "language": "english", "position": {"atoms": [{"position_id": 488, "txt": " Similar to Chapter 1, if you are uncomfortable with the basic high school level math or the TrueType code examples used in the process, try to get at least an intuitive understanding from the illustrations and the recap paragraphs in plain English.", "x": "/html/body/div/ul[4]/li[4]/a[1]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 32, "global_sentence_id": 55, "edu_l1_label": "IOS"}, {"txt": " I would consider both ClearType & “Legacy Fonts” and ClearType & “Legacy Applications” as key to understanding some of what you’re seeing on today’s Windows screens.", "language": "english", "position": {"atoms": [{"position_id": 489, "txt": " I would consider both ", "x": "/html/body/div/ul[4]/li[4]/a[1]"}, {"position_id": 491, "txt": "ClearType & “Legacy Fonts”", "x": "/html/body/div/ul[4]/li[4]/em[1]"}, {"position_id": 493, "txt": " and ", "x": "/html/body/div/ul[4]/li[4]/em[1]"}, {"position_id": 495, "txt": "ClearType & “Legacy Applications”", "x": "/html/body/div/ul[4]/li[4]/em[2]"}, {"position_id": 497, "txt": " as key to understanding some of what you’re seeing on today’s Windows screens.", "x": "/html/body/div/ul[4]/li[4]/em[2]"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 32, "global_sentence_id": 56, "edu_l1_label": "IOS"}, {"txt": " In particular, be sure to check out the interactive illustration of advance widths (character metrics) towards the end of 4.2.3.", "language": "english", "position": {"atoms": [{"position_id": 498, "txt": " In particular, be sure to check out the interactive illustration of advance widths (character metrics) towards the end of ", "x": "/html/body/div/ul[4]/li[4]/em[2]"}, {"position_id": 500, "txt": "4.2.3", "x": "/html/body/div/ul[4]/li[4]/a[2]"}, {"position_id": 502, "txt": ".", "x": "/html/body/div/ul[4]/li[4]/a[2]"}]}, "tags": ["li", "em"], "label": "content", "web_segment_id": 32, "global_sentence_id": 57, "edu_l1_label": "IOS"}, {"txt": "Chapter 5 illustrates the path a glyph takes from the rasterizer’s TrueType processor (the part that executes the TrueType instructions) until (color-) pixels have appeared on screen.", "language": "english", "position": {"atoms": [{"position_id": 504, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[5]"}, {"position_id": 506, "txt": "5", "x": "/html/body/div/ul[4]/li[5]/a"}, {"position_id": 508, "txt": " illustrates the path a glyph takes from the rasterizer’s TrueType processor (the part that executes the TrueType instructions) until (color-) pixels have appeared on screen.", "x": "/html/body/div/ul[4]/li[5]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 33, "global_sentence_id": 58, "edu_l1_label": "IOS"}, {"txt": " Skip the TrueType code (I included it as evidence), but be sure to develop an intuitive understanding of rendering text in color and gamma correction.", "language": "english", "position": {"atoms": [{"position_id": 509, "txt": " Skip the TrueType code (I included it as evidence), but be sure to develop an intuitive understanding of rendering text in color and gamma correction.", "x": "/html/body/div/ul[4]/li[5]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 33, "global_sentence_id": 59, "edu_l1_label": "IOS"}, {"txt": " The buttons below the illustrations are there to experience what under- or overcorrection does, both to the colors and the perceived stem weights.", "language": "english", "position": {"atoms": [{"position_id": 510, "txt": " The buttons below the illustrations are there to experience what under- or overcorrection does, both to the colors and the perceived stem weights.", "x": "/html/body/div/ul[4]/li[5]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 33, "global_sentence_id": 60, "edu_l1_label": "IOS"}, {"txt": " Likewise, be sure to use the respective buttons and “mouseovers” to see the importance of matching the native resolution and sub-pixel structure of LCDs (flat panel screens).", "language": "english", "position": {"atoms": [{"position_id": 511, "txt": " Likewise, be sure to use the respective buttons and “mouseovers” to see the importance of matching the native resolution and sub-pixel structure of LCDs (flat panel screens).", "x": "/html/body/div/ul[4]/li[5]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 33, "global_sentence_id": 61, "edu_l1_label": "IOS"}, {"txt": "Chapter 6 defines the frequently misunderstood concept of “hinting” along with its relationships to text rendering and text layout methods, and concludes with considerations to move naïve “hinting” from “pixel popping” to computer programming.", "language": "english", "position": {"atoms": [{"position_id": 513, "txt": "Chapter ", "x": "/html/body/div/ul[4]/li[6]"}, {"position_id": 515, "txt": "6", "x": "/html/body/div/ul[4]/li[6]/a"}, {"position_id": 517, "txt": " defines the frequently misunderstood concept of “hinting” along with its relationships to text rendering and text layout methods, and concludes with considerations to move naïve “hinting” from “pixel popping” to computer programming.", "x": "/html/body/div/ul[4]/li[6]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 34, "global_sentence_id": 62, "edu_l1_label": "IOS"}, {"txt": " Once more be sure to use the buttons and “mouseovers” to see what different “hinting” strategies will do at different point sizes, screen resolutions (DPIs), and with different gamma corrections.", "language": "english", "position": {"atoms": [{"position_id": 518, "txt": " Once more be sure to use the buttons and “mouseovers” to see what different “hinting” strategies will do at different point sizes, screen resolutions (DPIs), and with different gamma corrections.", "x": "/html/body/div/ul[4]/li[6]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 34, "global_sentence_id": 63, "edu_l1_label": "IOS"}, {"txt": " Also once more, you may of course skip the TrueType code used towards the end of the chapter.", "language": "english", "position": {"atoms": [{"position_id": 519, "txt": " Also once more, you may of course skip the TrueType code used towards the end of the chapter.", "x": "/html/body/div/ul[4]/li[6]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 34, "global_sentence_id": 64, "edu_l1_label": "IOS"}, {"txt": " I have included it as evidence to demonstrate that a purportedly artistic decision “to correctly place the crossbar” can be made in computer software without the intervention of humans manually applying a plethora of delta instructions:", "language": "english", "position": {"atoms": [{"position_id": 520, "txt": " I have included it as evidence to demonstrate that a purportedly artistic decision “to correctly place the crossbar” can be made in computer software without the intervention of humans manually applying a plethora of delta instructions:", "x": "/html/body/div/ul[4]/li[6]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 34, "global_sentence_id": 65, "edu_l1_label": "IOS"}, {"txt": " The computer is not [re-]designing Bodoni’s font; it merely processes software to adapt the font as closely as possible to the coarse grid of the screen.", "language": "english", "position": {"atoms": [{"position_id": 521, "txt": " The computer is not [re-]designing Bodoni’s font; it merely processes software to adapt the font as closely as possible to the coarse grid of the screen.", "x": "/html/body/div/ul[4]/li[6]/a"}]}, "tags": ["li"], "label": "content", "web_segment_id": 34, "global_sentence_id": 66, "edu_l1_label": "IOS"}, {"txt": " Writing about font rendering is often—if not always—a bit of a dilemma:", "language": "english", "position": {"atoms": [{"position_id": 523, "txt": " Writing about font rendering is often—if not always—a bit of a dilemma:", "x": "/html/body/div/ul[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 67, "edu_l1_label": "IOS"}, {"txt": " How technical does it have to be to convince the engineering audience that I’m not just making up all of this stuff, and how technical can it be before I completely lose the type designer audience?", "language": "english", "position": {"atoms": [{"position_id": 524, "txt": " How technical does it have to be to convince the engineering audience that I’m not just making up all of this stuff, and how technical can it be before I completely lose the type designer audience?", "x": "/html/body/div/ul[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 68, "edu_l1_label": "IOS"}, {"txt": " This line is not well-defined, and I’m sure I’ve crossed it many times.", "language": "english", "position": {"atoms": [{"position_id": 525, "txt": " This line is not well-defined, and I’m sure I’ve crossed it many times.", "x": "/html/body/div/ul[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 69, "edu_l1_label": "IOS"}, {"txt": " At the same time bridging that gap between intuitive art and rigorous engineering is what keeps me motivated.", "language": "english", "position": {"atoms": [{"position_id": 526, "txt": " At the same time bridging that gap between intuitive art and rigorous engineering is what keeps me motivated.", "x": "/html/body/div/ul[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 70, "edu_l1_label": "IOS"}, {"txt": " It’s not about “either-or” nor “one vs the other”—it’s about both:", "language": "english", "position": {"atoms": [{"position_id": 527, "txt": " It’s not about “either-or” nor “one vs the other”—it’s about both:", "x": "/html/body/div/ul[4]"}]}, "tags": ["li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 71, "edu_l1_label": "IOS"}, {"txt": " one and the other.", "language": "english", "position": {"atoms": [{"position_id": 528, "txt": " one ", "x": "/html/body/div/ul[4]"}, {"position_id": 530, "txt": "and", "x": "/html/body/div/em"}, {"position_id": 532, "txt": " the other.", "x": "/html/body/div/em"}]}, "tags": ["em", "li"], "label": "content", "web_segment_id": 5, "global_sentence_id": 72, "edu_l1_label": "IOS"}, {"txt": " Hope this helps! ", "language": "english", "position": {"atoms": [{"position_id": 533, "txt": " Hope this helps! ", "x": "/html/body/div/em"}]}, "tags": ["em"], "label": "content", "web_segment_id": 5, "global_sentence_id": 73, "edu_l1_label": "IOS"}, {"txt": " Footnotes: ", "language": "english", "position": {"atoms": [{"position_id": 535, "txt": " Footnotes: ", "x": "/html/body/div/br[2]"}]}, "tags": ["br"], "label": "O", "web_segment_id": 35, "global_sentence_id": 74, "edu_l1_label": "EDU_O"}, {"txt": "Corrected on 17 March 2011", "language": "english", "position": {"atoms": [{"position_id": 537, "txt": "Corrected on 17 March 2011", "x": "/html/body/div/ol/li[1]/a"}]}, "tags": ["li"], "label": "O", "web_segment_id": 36, "global_sentence_id": 75, "edu_l1_label": "EDU_O"}, {"txt": "Peter Karow, Intelligent FontScaling, URW Unternehmensberatung, Hamburg, Germany (undated).", "language": "english", "position": {"atoms": [{"position_id": 539, "txt": "Peter Karow, ", "x": "/html/body/div/ol/li[2]/a"}, {"position_id": 541, "txt": "Intelligent FontScaling", "x": "/html/body/div/ol/li[2]/em"}, {"position_id": 543, "txt": ", URW Unternehmensberatung, Hamburg, Germany (undated).", "x": "/html/body/div/ol/li[2]/em"}]}, "tags": ["li", "em"], "label": "O", "web_segment_id": 37, "global_sentence_id": 76, "edu_l1_label": "EDU_O"}, {"txt": " I seem to have lost or misplaced the original brochure, but that’s how I quoted said publication in my PhD thesis.", "language": "english", "position": {"atoms": [{"position_id": 544, "txt": " I seem to have lost or misplaced the original brochure, but that’s how I quoted said publication in my PhD thesis.", "x": "/html/body/div/ol/li[2]/em"}]}, "tags": ["em", "li"], "label": "O", "web_segment_id": 37, "global_sentence_id": 77, "edu_l1_label": "EDU_O"}, {"txt": "© Copyright 2009-2025 by Beat Stamm.", "language": "english", "position": {"atoms": [{"position_id": 546, "txt": "© ", "x": "/html/body/div/p[21]"}, {"position_id": 548, "txt": "Copyright", "x": "/html/body/div/p[21]/a[1]"}, {"position_id": 550, "txt": " 2009-2025 by ", "x": "/html/body/div/p[21]/a[1]"}, {"position_id": 552, "txt": "Beat Stamm", "x": "/html/body/div/p[21]/a[2]"}, {"position_id": 554, "txt": ".", "x": "/html/body/div/p[21]/a[2]"}]}, "tags": [], "label": "O", "web_segment_id": 38, "global_sentence_id": 78, "edu_l1_label": "EDU_O"}, {"txt": " All Rights Reserved.FAQs | Contact | Donate | Page last updated on 21 Jun 2018", "language": "english", "position": {"atoms": [{"position_id": 555, "txt": " All Rights Reserved.", "x": "/html/body/div/p[21]/a[2]"}, {"position_id": 557, "txt": "FAQs", "x": "/html/body/div/p[21]/a[3]"}, {"position_id": 559, "txt": " | ", "x": "/html/body/div/p[21]/a[3]"}, {"position_id": 561, "txt": "Contact", "x": "/html/body/div/p[21]/a[4]"}, {"position_id": 563, "txt": " | ", "x": "/html/body/div/p[21]/a[4]"}, {"position_id": 565, "txt": "Donate", "x": "/html/body/div/p[21]/a[5]"}, {"position_id": 567, "txt": " | Page last updated on 21 Jun 2018", "x": "/html/body/div/p[21]/a[5]"}]}, "tags": [], "label": "O", "web_segment_id": 38, "global_sentence_id": 79, "edu_l1_label": "EDU_O"}], "type": "WEB"}
# The Raster Tragedy at Low-Resolution Revisited:Opportunities and Challenges beyond “Delta-Hinting”
## What Others are Saying:
### John Hudson, Tiro Typeworks:
### Thomas Phinney, CEO of FontLab:
### Erik Spiekermann (via Twitter), SpiekerBlog:
### Jonathan Hœfler (via Twitter), Hœfler & Co.:
## What’s New?
### 2018-06-21
### 2011-12-07
### 2011-09-14
#### Spun off ClearType (cf 2.2.0) and added a comparison of sub-pixel anti-aliasing methods (ClearType, CoolType, FreeType, and Quartz, cf 2.2.1)
#### Added an analysis of inter-character “spacing” in DirectWrite (cf 4.2.2) and a comparison of text layout with different advance widths (cf 4.2.3)
#### Revised the explanation on rendering sub-pixel anti-aliased text (ClearType) in color-on-color (cf 5.2) and its sensitivity to gamma correction (cf 5.3)
## What is this “Raster Tragedy?”
## Guide to the Reader
