| |
| Posted by Adam D Ruppe in reply to H. S. Teoh | PermalinkReply |
|
Adam D Ruppe
Posted in reply to H. S. Teoh
| On Monday, 1 November 2021 at 23:24:18 UTC, H. S. Teoh wrote:
> Haha, the font wrapping was pretty easy, the freetype headers have the interesting property that error codes are defined with C macros that are defined externally; by suitably redefining these macros and #include'ing the header file twice, I managed to generate D code from the C header file.
oh that's interesting.
for me I just dynamic load as needed. though most of it i do through the xft library for display. My new magic feature is it can look up a font from the OS - most notably on Windows - and then load it in a custom library for opengl etc display. it is magical.
> 5) Upstream decides that they need to depend on libraries X, Y, Z, all of which potentially suffer from (1), (2), (3), or (4). As the end user, you of course inherit all of the problems. The worst of these problems is that any one of the 150 recursive dependencies
This here is why I have such a strict dependency policy for libraries. For applications, I sometimes go a bit crazy and use other things, but libraries I keep as thin as I can exactly because they are already someone else's dependency! So if I'm not a leaf, I'm viable to become a web.
If I do use something else, I adopt it myself, but even then I try to avoid.
Even though I have to say I kinda do want to add some new modules. A core util thing with better exceptions and maybe my buffer class etc, and perhaps my dynamic lib loader mixin, and most likely an eventloop2 which is mostly the simpledisplay loop just brought out. I kinda liked eventloop1 just it also sucked cuz I didn't know better when I made it.
Just adding a new module breaks my promise of "download this standalone file". So I avoid it. Just it would be kinda nice. Maybe I'll make it an optional thing again.
|