{"id":13822187,"url":"https://github.com/akfreas/emoji-extractor-plus","last_synced_at":"2025-05-16T15:33:15.578Z","repository":{"id":65504745,"uuid":"114248102","full_name":"akfreas/emoji-extractor-plus","owner":"akfreas","description":"Extract emojis from Apple font in PNG format","archived":false,"fork":false,"pushed_at":"2021-04-26T21:18:14.000Z","size":28,"stargazers_count":67,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T08:07:53.606Z","etag":null,"topics":["emoji","emojis","font","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akfreas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-14T12:30:43.000Z","updated_at":"2024-05-30T07:40:09.000Z","dependencies_parsed_at":"2023-01-26T12:25:10.907Z","dependency_job_id":null,"html_url":"https://github.com/akfreas/emoji-extractor-plus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akfreas%2Femoji-extractor-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akfreas%2Femoji-extractor-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akfreas%2Femoji-extractor-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akfreas%2Femoji-extractor-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akfreas","download_url":"https://codeload.github.com/akfreas/emoji-extractor-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225436568,"owners_count":17474170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emoji","emojis","font","python"],"created_at":"2024-08-04T08:01:47.600Z","updated_at":"2024-11-19T22:32:32.829Z","avatar_url":"https://github.com/akfreas.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Emoji Extractor Plus ➕\n\nEveryone 💕s Emojis. Problem is, it's hard to use them in Photoshop or in Google Slides and Docs. For this reason I created an emoji extractor that takes the PNG data from the Apple font and saves it as an image.\n\n\n# Usage ⚒\n\n* Clone this repo\n* If you're using [virtualenv](https://virtualenv.pypa.io/en/stable/), make a new env\n* Run `python3 -m pip install -r requirements.pip`\n* Run `python3 extract.py`\n\nThis will extract the PNGs from the font file at `/System/Library/Fonts/Apple Color Emoji.ttc`. If you want to target another font file, just use the `--ttc_file` flag with the path to the file.\n\nThe script will save the PNG data from the font into the `./images` directory wherever you ran the script. The following resolutions are curretly extracted:\n\n* 160x160\n* 96x96\n* 64x64\n* 52x52\n* 48x48\n* 40x40\n* 32x32\n* 26x26\n* 20x20\n\nAll the emojis will be labeled with their proper names, too! \n\n![](https://s3.amazonaws.com/sashimiblade.com/emoji-files.png \"\")\n\n\n\n# Fun Info\n\n## Unicode is awesome 💥\n\nMaking this script was a fun exercise in learning more about Unicode and how it's being used to scale the number and types of emojis that Apple is making these days. With the addition of skin tones and gender modifiers, emoji are no longer one Unicode character anymore. \n\nTo give an example of one of the more complicated emojis that Apple has created, take 👨‍👩‍👧‍👧, which comes from the Unicode string `\\U0001f468\\u200d\\U0001f469\\u200d\\U0001f467\\u200d\\U0001f467`. (Shown as represented in Python)\n\nThis string is broken into several characters:\n\n`\\U0001f468`: 👱‍♂️\n`\\U0001f469`: 👩\n`\\U0001f467`: 👧\n\nEach character has a `\\u200d` character between it, which is a [zero width joiner](https://emojipedia.org/zero-width-joiner/) in between it. This character is used to join two or more Unicode characters together, in this case the people in the emoji. the ZWG is used also for any modifier, such as skin tone and gender.\n\nMy experience before this exercise was mostly with characters that were in the [ASCII table](https://www.asciitable.com/) from the olden days, so exploring this topic with emojis was interesting. Unicode was created to scale to many more characters than could be represented in the ASCII table, which allows it to support not only emojis, but all writing systems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakfreas%2Femoji-extractor-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakfreas%2Femoji-extractor-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakfreas%2Femoji-extractor-plus/lists"}