opentype-shaping-documents
quickjs
opentype-shaping-documents | quickjs | |
---|---|---|
2 | 75 | |
180 | 9,060 | |
2.2% | 2.5% | |
6.1 | 9.1 | |
10 days ago | 4 days ago | |
HTML | C | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opentype-shaping-documents
-
Ligatures in programming fonts: hell no
> The tangent in (1) on how they contradict unicode could have been skipped as well
Not only because confusables already exist, but also (as I already said[1] the previous time this was posted) covering all ligatures used in all typographical styles is very much a non-goal of Unicode. The official position is that the font shaping layer[2] sits atop Unicode’s semantic representation and is free to ligate, spindle, or mutilate it for display however it prefers (at least for Latin, Greek, and Cyrillic it’s a preference; other scripts can’t be rendered at all without doing it, such as Arabic—barring the legacy presentational forms—or Burmese[3]).
The only reason Unicode even has those ligatures is that some IBM encodings (which were more presentational in nature) encoded them, and IBM employees wrote a large part of the early standard (based on the decades of i18n experience they had at that point) and wanted roundtripping.
[1] https://news.ycombinator.com/item?id=29639966
[2] https://github.com/n8willis/opentype-shaping-documents
[3] https://r12a.github.io/scripts/mymr/my.html#combiningV
- Libgrapheme: A simple freestanding C99 library for Unicode
quickjs
-
JSLinux
Considering the extremes of prolific developers gives interesting contrast to dogmas such as "functions/files should never be above x lines", where `quickjs.c` is 50k lines and has functions that are hundreds of lines long:
https://github.com/bellard/quickjs/blob/master/quickjs.c
(Obviously different approaches suites different circumstances.)
- QuickJS JavaScript Engine
-
Servo in 2024: stats, features and donations
And some lightweight alternatives like Bellard's QuickJS (https://bellard.org/quickjs/) in C and Kiesel (https://kiesel.dev/) in Zig.
-
Building Static HTML Pages with JSX Server-Side Rendering
Built on a highly optimized JavaScript runtime powered by QuickJS, Query offers fast startup times and efficient execution. Its built-in caching mechanism further enhances performance by storing function responses, reducing database load and latency. This focus on speed makes Query a standout choice for server-side rendering, especially in applications with many components.
- Lua Is So Underrated
-
Introducing our Next-Generation JavaScript SDK
Where the previous SDK was built on top of the QuickJS JavaScript engine and the Javy runtime, the new SDK is built on top of the Firefox browser’s SpiderMonkey engine, and the Bytecode Alliance’s StarlingMonkey runtime and ComponentizeJS WIT bindings generator.
-
QuickJS: Handle Typescript Sourcemap
I'm currently using Bellard's QuickJS engine on a new TypeScript project.
- [Lab] AWS Lambda LLRT vs Node.js
-
What Is in a Rust Allocator?
You may be familiar, but I just wanted to show how it is available in many C implementations and is used, for example, in QuickJS: https://github.com/bellard/quickjs/blob/0c8fecab2392387d76a4...
What are some alternatives?
fonttools-opentype-feature-freezer - OTFeatureFreezer GUI app and pyftfeatfreeze commandline tool in Python to permanently "apply" OpenType features to fonts, by remapping their Unicode assignments
Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint
fbpdf - A small framebuffer pdf, djvu, epub, xps, and cbz viewer
jerryscript - Ultra-lightweight JavaScript engine for the Internet of Things.
utf8proc - a clean C library for processing UTF-8 Unicode data
LuaJIT - Mirror of the LuaJIT git repository