On 26 March 2017 at 20:10, Steve D'Aprano <steve+pyt...@pearwood.info> wrote: > On Mon, 27 Mar 2017 03:57 am, Mikhail V wrote: > > [...] >>>> And more important: can one use binary (bitmap) fonts in default modern >>>> linux console? If yes, can one patch them with custom tiles at >>>> the application start? >>> >>> If you really need something completely custom, it's not text any >>> more. >> >> Obvious fact, but if I need e.g. rounded corners in table drawing >> characters? Or I just want to fix some characters which look especially >> ugly? Create a new TTF? No, thanks, this would be worst nightmare to >> do without a special tool (which have prices with several zeros, otherwise >> just don't work and can even break things system-wide) > > Don't be silly. It took me ten seconds on Google to find this: > > https://birdfont.org/ >
It takes you ten seconds to Google, and what if I ask you to take, say Courier New font TTF file (which includes not only vector information but all that is responsible for bitmap rendering, subpixeling, etc), then edit one character (and all corresponding information for subpixeling), then compile it as a new font, then install it on Win, without that making any conflicts, and without _any_ further glitches or changes in other characters, and no such things across all applications. If you'd try that, and you will succeed, _then_ I will publicly admit that I was silly. And paying even 50$ for correcting one glyph... well probably I'll do it if one gives guarantee that all above will work. > >>> More likely, you don't truly need something custom - what you need is >>> a different subset of characters (maybe you need to mix Latin, Greek, >>> and Hebrew letters, in order to show interlinear translation of the >>> Bible). Instead of messing around with character sets, you can just >>> use Unicode and have all of them available. >> >> If I was to deal with multiple language charsets in _my own_ rendering >> app, I would still use discrete encoding for inner algorithms. >> i.e. I would place separate charsets on separate code ranges. > > Why? Because you think you know better than the thousands of professionals > who have worked with text formats for decades? Sounds provocative, but yes, in some cases I know what I am doing ;-). But that is not because professionals does not know, there are many other aspects which come in play here. It depends on the use case, Unicode solves only some problems. I was talking only about _my own_ usage, it will be obviously incompatible e.g. for copy-pasting between othr apps. There are benefits to store language-specific values (+ their glyphs) in separate stacks. Anyway this discussion will require concrete examples and much deeper investigation. > >> And for own standalone app, I would not use any TTF or >> anything vector-based font, since why? > > Right, because your users will *love* to see their native language displayed > in a crappy bitmapped font with jagged or blurry edges. > I am working on text rendering algorithms an have prototyped several bitmap-based text rendering algorithms, both managed and prerendered approaches, and there is _nothing_ jagged or [incorrectly] blurred there, when one knows what he's doing of course. So it would be _very_ hard to catch me on incompetence here, but you can try, and feel free to do it :)))) FYI vector-based fonts were mainly motivated by print design. Modern GPUs have capabilities for fast vector glyph rendering, but it is not needed for screen rendering, much less when higher DPI displays will prevale. Mikhail -- https://mail.python.org/mailman/listinfo/python-list