UTF-8?
Clive Semmens (2335) 3276 posts |
Indeed. On RISCOS I was able to write that “tidying up” app that took an Impression Publisher file, and adjusted (using kerning, horizontal and vertical) all the combinations (amongst other things). The idea of writing an app like that on any other system boggles my mind. (Yes, it adjusted the combinations, rather than substituting precompositions – we could only have 223 simultaneously accessible characters in a font at that time.) |
Steve Pampling (1551) 8170 posts |
Oh yes. Wander off and have a think about it. |
nemo (145) 2546 posts |
Neither the Acorn font format nor the FontManager API have any concept of vertical text. It only “recently” gained a Right-to-Left flag (in geological Acorn time).
The “outline” fonts most people are familiar with are filled outlines. The precise pixels that count as “inside” the outline and the manipulations of the outline before rasterisation vary, but the key point is that the vector path delineates inside from outside. A stroke font on the other hand is stroked, not filled. So it can only produce glyphs with a single stem thickness. The original Adobe Courier was a stroke font, but soon became an outline font. Stroke fonts are still used (especially in TTF) in resource-limited platforms for CJK fonts – such as phones. Or at least that was the case, but since phones became supercomputers that cunning byte-saving wheeze is seen less often (and was always proprietary – see Agfa Monotype for a notable implementation). |
Chris Mahoney (1684) 2165 posts |
Interesting! It’s supposed to look something like this: |
nemo (145) 2546 posts |
No, it isn’t.
The Acorn font format fills closed contours and strokes open contours, subject to the skeleton pixel size limit.
No it does NOT, it absolutely does not do this.
No, they don’t. Name a system that does.
This is wrong. When printing PostScript Acorn fonts are typically converted to Type3 which is subject to the PostScript pixel touching rule (paint all that are touched). Crucially, such converted fonts are totally unhinted, which produces stem distortion, stem inconsistency, pimpling and baseline/x-height misalignment. However, another problem to throw into the mix is that Acorn users typically do not have calibrated monitors, consequently are subject to the usual 2.2 gamma which neither the FontManager nor ColourTrans allow for, resulting in the text on screen failing to match the actual geometry printed on a high resolution printer. Whether the result looks too bold or too light depends on whether it’s black-on-white or a WOB.
More nonsense. PostScript does NOT stroke fonts (unless you use charpath, but then the result of stroking that is unlikely to match the hinted filled glyph created by the font renderer, and you get gaps). Dropout is not a problem for Type3 because of the PostScript pixel touching rule that I’ve only explicitly explained about three times so far. Every pixel that any part of the outline goes through, gets drawn. There is no stroking. For Type1 however it’s a different story – it uses a different pixel touching rule and dropouts and isolated pixels are a real problem, which is why Type1 has sophisticated hinting and Type1 rasterisers have complex and unpublished heuristics to prevent these artefacts, pimpling, etc.
Good God. You really think the Acorn font format is the only format with dropout control and hinting? Are you insane or just trolling me now? Read up on Adobe Type1. Read up on the TrueType grid-fitting and hinting system.
Agfa, Adobe, Linotype, FontLab, and several thousand professional fontographers disagree with you. Listen Clive, you’re an enthusiastic RO user and slightly knowledgeable about some aspects of Acorn font creation. However, you know nothing of any other system. Worse than that, you think and claim that you do! I’ve lost count of the number of totally incorrect claims you’ve made. Claims you have not only not retracted but have continued to repeat as though they are fact. Will you please stop. You are contributing nothing but FUD. There are four stages of competence, and you are gloriously and steadfastly at stage one. Please stop now. |
Steve Pampling (1551) 8170 posts |
Some say five. Interesting idea overall, but generalisations do tend lose a little. |
Clive Semmens (2335) 3276 posts |
No, of course I don’t. But it works in a different way. Okay, I misunderstood the nature of that different way, interpreting the observed effects of translating fonts incorrectly.
I’ve admitted all along that I don’t know much about them, but I know enough to be able to write software to translate AFF font files into Spline Font Database files, which FontForge can then convert into TrueType or Postscript fonts; and I know how to use FontForge to edit those. Those fonts then work on a PC and on a Mac. That’s as far as I go.
Sorry about that, not intentional – I didn’t see your earlier posts when I replied to your later ones. I’ve only been dipping in and out between distractions at home. |
nemo (145) 2546 posts |
Amusingly the four stages don’t always exist in all cases – stage one doesn’t apply to riding a bike for example. No one believes that they can ride a bike despite demonstrably failing to do so. Unless they have serious issues with the definition of the word “riding”. |
Clive Semmens (2335) 3276 posts |
Riding a bike is a good example, and an odd one for someone like me. I couldn’t ride a bike until I was about 11. I couldn’t do it until I’d worked out exactly HOW balancing a bike works, whereas most folks acquire the skill without ever understanding exactly how it works – indeed many people refuse to believe it works the way it does. Interestingly, most folks who can ride a monocycle (I can’t, although I understand the mechanics of the process) DO understand how it works. Another favourite of mine is the mechanics of a cat’s twisting in the air to land on its feet. I strongly suspect that cats acquire that skill without understanding the mechanics… |
nemo (145) 2546 posts |
Then please don’t write authoritative sentences such as those I quoted and refuted. It’s fine to speculate in the absence of actual knowledge, but it must be described accordingly. Making assertions that are actually guesswork based on limited data is bad enough down the pub, but put on permanent record, indexed, searched and crosslinked, such statements can confuse or grossly mislead an unknown number of people for an extended period of time, totally unnecessarily. You know you’ve just made it up, but readers have no choice but to take you at your word. |
Clive Semmens (2335) 3276 posts |
I do now, but it’s been my “wisdom” for so long that I’d forgotten – my interpretations of things worked for me and stuck in my head. I shall go back and edit. That may leave some of your posts rather dangling; you might want to go back and look and also edit after a while when I’ve had a chance to fix things up. |
Clive Semmens (2335) 3276 posts |
If you mean the update of XP1FontEd that can do vertical character “widths”, no, and I probably shan’t. It’s currently very messy, just to try the thing out, whereas the existing offering is pretty clean, and I’m far from sure, after everything I’ve learnt from Nemo, that the update would really be at all useful. XP1FontEd itself isn’t an updated FontEd, it’s a different app, mainly designed to be used alongside FontEd, providing some extra functions. |
Rick Murray (539) 13840 posts |
@ Steve:
Dorling Kindersley? @ nemo:
Young children? BTW, thank you for the stoke/fill explanation. @ Clive:
Are you owned by any cats? If you are, you will know full well that they are likely visitors from another world with minds immeasurably superior to ours, utterly fed up with being talked to like a baby. Their weakness? Having the belly rubbed. Makes ’em all gooey.
Please don’t. |
Rick Murray (539) 13840 posts |
@ Chris: Re Ruby text. Hmmm…. Apple 1, Android 0. (^_^) |
Clive Semmens (2335) 3276 posts |
Damn. Too late in some cases. Can I undo my edits?
No, not since I was a child when the whole family was. When in India, I’m part of a group of humans occasionally temporarily owned by itinerant cats.
Is this speculation, or known fact? 8~) |
Chris Mahoney (1684) 2165 posts |
I was bored so I just did a little more testing: Safari on Mac/iOS – Correct It’s bizarre that Android gets it wrong, as I believe that the browser is kinda/sorta like Chrome. |
Clive Semmens (2335) 3276 posts |
In my defence, I should point out that the effect (on a one-bit-per-pixel printer) of the difference between Acorn’s “paint a pixel if its centre lies within the outline” and PostScript’s “paint a pixel if any part of it lies within the outline” is precisely the same as the effect of stroking the outline with a single pixel wide stroke: it adds an average of half a pixel around the edge, ie an erratic (loss of hinting) emboldening by one pixel – an effect that decreases in significance as the pixel size decreases. This is complicated by the fact that Calligraph’s (Toshiba) printer is not actually one-bit-per-pixel (having variable dot size1), but the effect of that is similar to antialiasing using a fine half-tone2: visually pretty good but not faithfully copied when the laser print is used as camera ready copy (that infamous dot gain). In practice that wasn’t a problem for text or black-and-white diagrams, graphs etc., but an absolute killer for half-toned greyscales, never mind full colour. 1 Interesting to look at those variable size dots under a microscope, too. Although they work well as half-toning dots, they’re not hard-edged dots like litho-printed half-tone dots. There’s a fair amount of toner splatter, forming a soft edge – itself a kind of ultra-fine random half-toning, since the actual toner particles are very definitely black. 2 Anti-aliasing is, roughly speaking, the logical inverse of half-toning. Think about it. Achieving grey scales on a one-bit-per-pixel grid by half-toning, and then using those grey scales to anti-alias a black-white boundary is crazy: you can get a better edge simply using the grid, which is much finer than the half-tone screen. But the Calli printer is not one-bit-per-pixel. (Sorry about any bad wording of any of this. I understand what’s going on here very well, but I don’t necessarily remember/know the right words to describe things.) |
Steve Pampling (1551) 8170 posts |
Dunning-Kruger I’ve just looked and wikipedia seem to have a page that covers the stages and side reference to Dunning-Kruger BTW. The fifth stage bit is glossed over in the wiki, but many say the 4 stage model doesn’t properly cover the level that the wife refers to as uber-geek |
Clive Semmens (2335) 3276 posts |
Indeed. I’ve been trying to resist reacting to the gratuitous insult implied, but am failing. Within my areas of specialization I think I can fairly claim to be at stage 3 or 4 (in many cases, back at stage 3 from stage 4 due to stopping practising, & forgetting terminology). In other areas I know I’m at stage 2. Undoubtedly there are areas where I’m at stage 1, but by the nature of the beast I don’t know which those are (anyone honest has to say the same thing). The fact that CUP typographers couldn’t tell where in a single issue of a journal the change from CUP’s own typesetting to our in-house Acorn typesetting occurred is, I am sure, adequate confirmation that with a lot of effort from the person who set the system up (me) and relatively very little from the people who operated it (the production editors) we really could match the quality, and that I understood pretty well what I was doing. I knew we couldn’t do half-tones or full colour (although Richard Pillar (at Calligraph) and I did make strenuous efforts, working together, to achieve the former). I suspect the main reason Nemo said “stage one” was that I said that with very high resolution printers hinting and stem consistency (or words to that effect) was nowadays of less significance. I stand by that. I didn’t say it was of NO significance, but its significance obviously diminishes as printer resolution (and monitor resolution) improves. Obviously we depended on getting AFF scaffolding and skeletons right to achieve what we did in the early 1990s, and I certainly don’t deny that it’s still important. Just less important than it was… Possibly also that I raised the fact that all the different "f"s in his Zapfino sample could, for all one could tell from the illustration, be in different, very normal, ligatures. Perhaps I didn’t make it clear enough that I certainly wasn’t denying that Zapfino probably nonetheless had plenty of other glyph substitution – just that the sample wasn’t a particularly good illustration of it. |
Steve Pampling (1551) 8170 posts |
Not from me I assure you. |
Clive Semmens (2335) 3276 posts |
Indeed not, Steve. The only insults I’ve detected have been from Nemo. I’m not afraid of mentioning it. Nor do I wish to fall out with him – I’m sure I can learn a lot from him, and I’m equally sure I could teach him useful things if he’d let me. (I’d love to teach him not to be so grumpy and arrogant, but I fear that’s beyond me. At least he recognizes it…) |
WPB (1391) 352 posts |
I only know Sim— I mean, nemo, from these and other RISC OS forums, and both his talents and way with words are abundantly clear. After this encounter, Clive, you may appreciate this joke… |
Clive Semmens (2335) 3276 posts |
8~) |
Rick Murray (539) 13840 posts |
Ah. I’ve heard of the Dunning-Kruger effect. It is rather apt at describing management:
1 Usual case – something went wrong. Obviously isn’t going to be their fault… suddenly you are “recognised”. In much the same way a sheep feels “recognised” as it is led off to the slaughterhouse. |
Rick Murray (539) 13840 posts |
nemo -
If I ask really nicely – would you consider hooking me up with an early copy of the command line UTF-8 handler? [is it a module? kernel source mods?] I would like to verify that my OLED module is quite happy with UTF-8 sequences (I’d likely just test basic kana (if you have implemented it, that is!) – if that works okay, no reason to assume other stuff would fail) and that nothing unexpected happens when providing UTF-8 strings. If there are any specific requirements, let me know. The way the module works (FYI) is that it accepts a null-terminated string of indeterminate length. Control codes are filtered out (some are recognised, the others are discarded) and the rest is just written character by character with OS_WriteC. All of this takes place while VDU is redirected to a sprite – lets the OS do all the hard work plotting stuff; flip side is that your UTF-8 modifications should be a plug-in-and-go kind of deal. If the OS can do it….. |