mirror of
https://github.com/googlefonts/noto-emoji.git
synced 2025-07-08 13:36:40 +00:00
Updates to skin color generator to use names instead of codepoints
This commit is contained in:
parent
b41da28dd1
commit
7aae4cd2c9
14 changed files with 14 additions and 91 deletions
|
@ -108,11 +108,8 @@ class Emoji:
|
||||||
# The file extension (.svg)
|
# The file extension (.svg)
|
||||||
fileextension = self.fextension
|
fileextension = self.fextension
|
||||||
base_seq = basename.split('_')
|
base_seq = basename.split('_')
|
||||||
base_seq.insert(2, extension)
|
base_seq.append(extension)
|
||||||
# Add FE0F?
|
basename = ' '.join(base_seq)
|
||||||
if self.end:
|
|
||||||
base_seq.append('fe0f')
|
|
||||||
basename = '_'.join(base_seq)
|
|
||||||
# Stitch it together and return the whole file path
|
# Stitch it together and return the whole file path
|
||||||
return os.path.join(directory, basename) + fileextension
|
return os.path.join(directory, basename) + fileextension
|
||||||
|
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import argparse
|
|
||||||
from modifier import *
|
|
||||||
from emoji import *
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
"""
|
|
||||||
Die main-Funktion, welche die Skin-Modifier verarbeitet
|
|
||||||
:return: Nix
|
|
||||||
"""
|
|
||||||
# Alle Kommandozeilenargumente hinzufügen
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
group = parser.add_mutually_exclusive_group(required = True)
|
|
||||||
group.add_argument('--input_file', '-i', help='Input file', metavar='ifile')
|
|
||||||
group.add_argument('--input_dir', '-d', help='Input directory', metavar='idir', default = '.')
|
|
||||||
parser.add_argument('--mod_dir', '-m', help='Modifier directory', metavar='mdir', default = './skins')
|
|
||||||
parser.add_argument('--base_name', '-b', help='Name of the base skin color', metavar='bname', default='base')
|
|
||||||
parser.add_argument('--add_end', '-e', help='Do you want to add an fe0f ZWJ-sequence?', default='n', choices=['y','n','auto'], required=False)
|
|
||||||
# Zu dict verarbeiten
|
|
||||||
args = vars(parser.parse_args())
|
|
||||||
end = False if args['add_end'].lower() == 'n' else (True if args['add_end'].lower() == 'y' else None)
|
|
||||||
# Skin-Modifier erstellen
|
|
||||||
modifiers = generate_modifiers(args['mod_dir'])
|
|
||||||
# Wurde ein Verzeichnis gewählt?
|
|
||||||
if args['input_dir']:
|
|
||||||
multi_process(args['input_dir'], modifiers, args['base_name'], end)
|
|
||||||
else:
|
|
||||||
# Erstelle ein Emoji-Objekt
|
|
||||||
emoji = Emoji(modifiers, args['input_file'], args['base_name'], end)
|
|
||||||
# Und wende die Modifier an
|
|
||||||
emoji.batch_modify()
|
|
||||||
|
|
||||||
|
|
||||||
def generate_modifiers(path: str) -> dict:
|
|
||||||
"""
|
|
||||||
Holt alle Skin-Modifier aus dem Ordner
|
|
||||||
:param path: Der Ordner mit den JSON-Dateien
|
|
||||||
:return: Ein dict mit name: Modifier
|
|
||||||
"""
|
|
||||||
modifiers = {}
|
|
||||||
for file in os.listdir(path):
|
|
||||||
# Ist es überhaupt eine JSON-Datei?
|
|
||||||
if os.path.splitext(file)[-1].lower() == '.json':
|
|
||||||
# Erstelle aus der JSON-Datei und füge es ein
|
|
||||||
modifier = Modifier.generate_from_json(os.path.join(path, file))
|
|
||||||
modifiers.update({modifier.name: modifier})
|
|
||||||
return modifiers
|
|
||||||
|
|
||||||
|
|
||||||
def multi_process(directory: str, modifiers: dict, base: str, end: bool = False):
|
|
||||||
"""
|
|
||||||
Verarbeitet ein ganzes Verzeichnis mit Emojis
|
|
||||||
:param directory: Der Ordner
|
|
||||||
:param modifiers: Die Skin-Modifier
|
|
||||||
:param base: Der Name des Basis-Typen
|
|
||||||
:param end: Ob noch eine fe0f-Sequenz angefügt werden soll.
|
|
||||||
:return: Nix
|
|
||||||
"""
|
|
||||||
files = os.listdir(directory)
|
|
||||||
for file in files:
|
|
||||||
# Nur SVG wird derzeit unterstützt
|
|
||||||
if os.path.splitext(file)[-1].lower() in {'.svg'}:
|
|
||||||
# Erstelle ein Emoji-Objekt
|
|
||||||
emoji = Emoji(modifiers, os.path.join(directory, file), base, end)
|
|
||||||
# Und wende die Modifier an
|
|
||||||
emoji.batch_modify()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "dark",
|
"name": "dark",
|
||||||
"extension": "1f3ff",
|
"extension": "dark skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#70534a",
|
"skin": "#70534a",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "light",
|
"name": "light",
|
||||||
"extension": "1f3fb",
|
"extension": "light skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#fadcbc",
|
"skin": "#fadcbc",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium",
|
"name": "medium",
|
||||||
"extension": "1f3fd",
|
"extension": "medium skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#bf8f68",
|
"skin": "#bf8f68",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium_dark",
|
"name": "medium_dark",
|
||||||
"extension": "1f3fe",
|
"extension": "medium-dark skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#9b643c",
|
"skin": "#9b643c",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium_light",
|
"name": "medium_light",
|
||||||
"extension": "1f3fc",
|
"extension": "medium-light skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#e0bb95",
|
"skin": "#e0bb95",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "dark",
|
"name": "dark",
|
||||||
"extension": "1f3ff",
|
"extension": "dark skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#70534a",
|
"skin": "#70534a",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "light",
|
"name": "light",
|
||||||
"extension": "1f3fb",
|
"extension": "light skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#fadcbc",
|
"skin": "#fadcbc",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium",
|
"name": "medium",
|
||||||
"extension": "1f3fd",
|
"extension": "medium skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#bf8f68",
|
"skin": "#bf8f68",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium_dark",
|
"name": "medium_dark",
|
||||||
"extension": "1f3fe",
|
"extension": "medium-dark skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#9b643c",
|
"skin": "#9b643c",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "medium_light",
|
"name": "medium_light",
|
||||||
"extension": "1f3fc",
|
"extension": "medium-light skin tone",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#e0bb95",
|
"skin": "#e0bb95",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "redhead",
|
"name": "redhead",
|
||||||
"extension": "1f9b0",
|
"extension": "red hair",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#fac01b",
|
"skin": "#fac01b",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "white",
|
"name": "white",
|
||||||
"extension": "1f9b3",
|
"extension": "white hair",
|
||||||
"colors":
|
"colors":
|
||||||
{
|
{
|
||||||
"skin": "#fac01b",
|
"skin": "#fac01b",
|
||||||
|
|
Loading…
Add table
Reference in a new issue