devicons / devicons/devicon

[FEATURE REQUEST] Add codepoint stability

Open
#1,516 1 comment 1 reaction 0 assignees View on GitHub
devops enhancement
Dominant language
CSS
Stars
11.8k
Forks
2.4k
Avg merge
5d 9h
Merged PRs (30d)
4

Description

### I have searched through the issues and didn't find my problem.

- [X] Confirm

### Problem

So in order to get devicons into [nerdfonts](https://github.com/ryanoasis/nerd-fonts) we need to introduce codepoint-stability. A codepoint is basically just the index of a given icon in a font. codepoint-stability means that the codepoints for each icon need to be the same between each version.

### Possible Solution

As explained in this comment: https://github.com/ryanoasis/nerd-fonts/issues/615#issuecomment-1320909010. We can add codepoint-stability by adding a new file like this:
```yaml
# Codepoint: filename
0: "svelte-original"
1: "typescript-plain"
2: "typescript-original"
3: "svelte-plain"
```
Then checking devicon.json for aliases. The file needs to be created and populated with all of our existing svg icons. Once the file is populated, we can implement a workflow for updating the file automatically when new icons are added.

In order to use these codepoints we need to update the script which creates the font via icomoon. I did some digging earlier on how we could do this, and I explained the process in detail here: https://github.com/ryanoasis/nerd-fonts/issues/615#issuecomment-1267629236

I think that's all that's needed from our side. The best thing about this is that the contributors don't have to update any morer than they do now, since the codepoint file will be possible to update automatically!

### Additional information

This issue is needed to close the following issues:
- #1420
- https://github.com/ryanoasis/nerd-fonts/issues/615

Contributor guide

Open the contributing guide

Research direction

Read the linked Nerd Fonts comments first, then inspect devicon.json, the proposed codepoint YAML file, and the script that creates the font via IcoMoon. Done means every existing SVG icon has a stable mapping, aliases are handled, and the workflow can update the mapping and generate fonts when icons are added.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.