diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fdb52e..c69e7bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ All notable changes to `ichava/core` follow [Keep a Changelog](https://keepachan ### Changed +- **The icon-sets catalog lists `ichava/icon-sets-openmoji` and counts emoji as Twemoji only.** `icon-sets.json` gains the openmoji set (8,568 icons, `latest_version` null until the pack is tagged), and the emoji set's count, description and licence follow icon-sets-emoji#99 (3,435 Twemoji icons; OpenMoji moved out). `docs/installation.md`'s pack table follows, as `InstallationPackTableTest` requires. Edited by hand: `bin/sync-icon-sets.php` counts a pack at its latest tag, and emoji's `v0.1.0` still carries the OpenMoji sets until the release re-squash, so the nightly sync will propose emoji's old count back until then. - **The sanitiser keeps `display`, `color` and `marker-*`, each behind a value guard** (parity with ichava/icon-sets-sync#85). A dry run of OpenMoji 17 stripped `display="none"` from 13 subdivision flags, so their hidden shapes would render. `resources/security/svg-policy.json` now matches icon-sets-sync's copy byte for byte (sha256 `7a7c07fd…`): it allows the five names and adds `_allowedAttributes_addendum_presentation`. `display` must be bare keywords, `color` must pass `SvgCssGuard`, and `marker-start`/`marker-mid`/`marker-end` must be `none` or `url(#id)`; `display="url(x)"`, `marker-end="url(https://e/x)"`, `color: expression(…)` and `sodipodi:docname` are still stripped. The sanitiser also drops non-whitespace text and CDATA directly under `` or `` and keeps the indentation; text in ``, ``, `` and `` is untouched. Across 142,247 pack SVGs, 36 outputs changed: 17 for `display`, 17 for `color`, and 2 for stray text (OpenMoji's 1F684 high-speed train, eos-icons' link-off). `RENDER_PIPELINE_VERSION` is now 4, because the stray-text rule changes output that the attribute hash does not see. `tests/Unit/SvgPresentationParityTest.php`, with `tests/fixtures/svg/presentation-vectors.json` shared with react-icon-browser and js-icon-components. - **Doctor's `--format=json` prints a report** instead of the table: `{passed, checks: [...]}`. The table output and the exit code are unchanged. - **Kind decides render-time budgets by every row.** `IconRegistry::render()` and `kindOf()` used the category and pack kind only; an item or rule kind now applies too, so render agrees with the stored row. diff --git a/docs/installation.md b/docs/installation.md index 5d03aae..1a5a0f5 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -72,7 +72,8 @@ the repositories block in step 1, then require it. Some of the public ones: |---|---|---| | `ichava/icon-sets-tabler` | 6,238 | `https://github.com/ichava/icon-sets-tabler` | | `ichava/icon-sets-flag` | 542 | `https://github.com/ichava/icon-sets-flag` | -| `ichava/icon-sets-emoji` | 10,567 | `https://github.com/ichava/icon-sets-emoji` | +| `ichava/icon-sets-emoji` | 3,435 | `https://github.com/ichava/icon-sets-emoji` | +| `ichava/icon-sets-openmoji` | 8,568 | `https://github.com/ichava/icon-sets-openmoji` | ```bash composer require ichava/icon-sets-tabler:^0.1 diff --git a/icon-sets.json b/icon-sets.json index acb1a42..95453c7 100644 --- a/icon-sets.json +++ b/icon-sets.json @@ -44,15 +44,32 @@ "package": "ichava/icon-sets-emoji", "repository": "ichava/icon-sets-emoji", "title": "Emoji Sets", - "description": "Multi-source emoji bundle (Twemoji, OpenMoji color, OpenMoji black). Unicode 17 / Emoji 17 spec. Categorised by Unicode CLDR groups.", - "license": "MIT (code) / CC-BY 4.0 (Twemoji assets) / CC-BY-SA 4.0 (OpenMoji assets)", - "icon_count": 10567, + "description": "Twemoji, Twitter/X's open-source emoji set, as SVG. Unicode 17 / Emoji 17 spec. Categorised by Unicode CLDR groups. OpenMoji is in ichava/icon-sets-openmoji.", + "license": "MIT (code) / CC-BY 4.0 (Twemoji assets)", + "icon_count": 3435, "variants": [ "default" ], "latest_version": "0.1.0", "icon_counts": { - "icon": 10567, + "icon": 3435, + "illustration": 0 + } + }, + { + "key": "openmoji", + "package": "ichava/icon-sets-openmoji", + "repository": "ichava/icon-sets-openmoji", + "title": "OpenMoji", + "description": "OpenMoji emoji in two sets (colour and black outline), Unicode emoji 16.0, grouped by Unicode CLDR category. Moved verbatim from ichava/icon-sets-emoji.", + "license": "MIT (code) / CC-BY-SA 4.0 (OpenMoji assets)", + "icon_count": 8568, + "variants": [ + "default" + ], + "latest_version": null, + "icon_counts": { + "icon": 8568, "illustration": 0 } }