diff --git a/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py b/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py old mode 100755 new mode 100644 index 09eae5c45..fe7fe8e95 --- a/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py +++ b/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py @@ -1,13 +1,18 @@ -#!/usr/bin/python # Convert Font Awesome, Google Material Design and Kenney Game icon font -# parameters to C++11 and C89 compatible formats. +# parameters to C++11, C89 and None compatible formats. # #------------------------------------------------------------------------------ # 1 - Source material # -# 1.1 - Font Awesome - https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml -# 1.2 - Material Design - https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints -# 1.3 - Kenney icons - https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css +# 1.1 - Font Awesome +# https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf +# https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml +# 1.2 - Material Design +# https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf +# https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints +# 1.3 - Kenney icons +# https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf +# https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css # #------------------------------------------------------------------------------ # 2 - Data samples @@ -24,21 +29,26 @@ # - Web Application Icons # - output C++11: #define ICON_FA_MUSIC u8"\uf001" # - output C89: #define ICON_FA_MUSIC "\xEF\x80\x81" +# - output None: var icon-fa-music "" # # 2.2 - Google Material Design icons # - input: 3d_rotation e84d # - output C++11: #define ICON_MD_3D_ROTATION u8"\ue84d" # - output C89: #define ICON_MD_3D_ROTATION "\xEE\xA1\x8D" +# - output None: var icon-md-3d_rotation "" # # 2.3 - Kenney Game icons # - input: .ki-home:before{ content: "\e900"; } # - output C++11: #define ICON_KI_HOME u8"\ue900" # - output C89: #define ICON_KI_HOME "\xEE\xA4\x80" +# - output None: var icon-ki-home "" # # 2.4 - All fonts # - computed min and max unicode fonts ICON_MIN and ICON_MAX -# - output: #define ICON_MIN_FA 0xf000 -# #define ICON_MAX_FA 0xf295 +# - output C89, C++11: #define ICON_MIN_FA 0xf000 +# #define ICON_MAX_FA 0xf295 +# - output None: var icon-min-fa 0xf000 +# var icon-max-fa 0xf2b2 # #------------------------------------------------------------------------------ # 3 - Script dependencies @@ -48,136 +58,294 @@ # 3.3 - PyYAML - http://pyyaml.org/ # #------------------------------------------------------------------------------ +# 4 - References +# +# None language: https://bitbucket.org/duangle/nonelang/src +# +#------------------------------------------------------------------------------ import requests import yaml -LINE_FORMAT_MINMAX = '#define ICON_{!s}_{!s} 0x{!s}\n' +# Fonts -UNICODE_MIN = 'ffff' -UNICODE_MAX = '0' -TIMEOUT = 2 +class Font: + font_tff = '[ ERROR - missing tff file info ]' + font_url = '[ ERROR - missing font data url ]' + font_name = '[ ERROR - missing font name ]' + font_abbr = '[ ERROR - missing font abbreviation ]' -MESSAGE_SUCCESS = '{!s} fonts - conversion success: {!s}' -MESSAGE_ERROR = '{!s} fonts - error \n\t{!s}' + @classmethod + def get_icons( cls, input ): + # intermediate representation of the fonts data, identify the min and max + print( '[ ERROR - missing implementation of class method get_icons for {!s} ]'.format( cls.font_name )) + icons_data = {} + icons_data.update({ 'font_min' : '[ ERROR - missing font min ]', + 'font_max' : '[ ERROR - missing font max ]', + 'icons' : '[ ERROR - missing list of pairs [ font icon name, code ]]' }) + return icons_data + + @classmethod + def download( cls ): + input_raw = '' + try : + response = requests.get( cls.font_url, timeout = 2 ) + if response.status_code == 200: + input_raw = response.content + print( 'Downloaded - ' + cls.font_name ) + except Exception as e : + print( '[ ERROR - {!s}: {!s} ]'.format( cls.font_name, e )) + return input_raw + + @classmethod + def get_intermediate_representation( cls ): + font_ir = {} + input_raw = cls.download() + if input_raw: + icons_data = cls.get_icons( input_raw ) + font_ir.update( icons_data ) + font_ir.update({ 'font_tff' : cls.font_tff, + 'font_url' : cls.font_url, + 'font_name' : cls.font_name, + 'font_abbr' : cls.font_abbr }) + print( 'Generated intermediate data - ' + cls.font_name ) + return font_ir -def get_prelude( url ): - prelude = '// Generated by GenerateIconFontCppHeaders.py \n// from {!s}\n#pragma once\n\n'.format( url ) - return prelude +class FontFA( Font ): + font_tff = 'https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf' + font_url = 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml' + font_name = 'font_awesome' + font_abbr = 'FA' + + @classmethod + def get_icons( self, input ): + icons_data = {} + data = yaml.safe_load( input ) + if data: + font_min = 'ffff' + font_max = '0' + icons = [] + for item in data[ 'icons' ]: + if item[ 'unicode' ] < font_min: + font_min = item[ 'unicode' ] + if item[ 'unicode' ] >= font_max: + font_max = item[ 'unicode' ] + icons.append([ item[ 'id' ], item[ 'unicode' ]]) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data -def line_format( font_abbr, font, unicode, cpp11 = True ): - if cpp11: - result = '#define ICON_{!s}_{!s} u8"\u{!s}"\n'.format( font_abbr, font, unicode ) - else: - unicode_base = ''.join([ '{0:x}'.format( ord( x )) for x in unichr( int( unicode, 16 )).encode( 'utf-8' )]).upper() - unicode = '\\x' + unicode_base[ :2 ] + '\\x' + unicode_base[ 2:4 ] + '\\x' + unicode_base[ 4: ] - result = '#define ICON_{!s}_{!s} "{!s}"\n'.format( font_abbr, font, unicode ) - return result +class FontMD( Font ): + font_tff = 'https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf' + font_url = 'https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints' + font_name = 'material_design' + font_abbr = 'MD' + + @classmethod + def get_icons( self, input ): + icons_data = {} + lines = str.split( input, '\n' ) + if lines: + font_min = 'ffff' + font_max = '0' + icons = [] + for line in lines : + words = str.split(line) + if words and len( words ) >= 2: + if words[ 1 ] < font_min: + font_min = words[ 1 ] + if words[ 1 ] >= font_max: + font_max = words[ 1 ] + icons.append( words ) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data -def convert_font_awesome( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = yaml.safe_load( response.content ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - for item in input[ 'icons' ]: - font = '' - for char in item[ 'id' ]: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = item[ 'unicode' ] - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) +class FontKI( Font ): + font_tff = 'https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf' + font_url = 'https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css' + font_name = 'kenney' + font_abbr = 'KI' + + @classmethod + def get_icons( self, input ): + icons_data = {} + lines = str.split( input, '\n' ) + if lines: + font_min = 'ffff' + font_max = '0' + icons = [] + for line in lines : + if '.ki-' in line: + words = str.split(line) + if words and '.ki-' in words[ 0 ]: + font_id = words[ 0 ].partition( '.ki-' )[2].partition( ':before' )[0] + font_code = words[ 2 ].partition( '"\\' )[2].partition( '";' )[0] + if font_code < font_min: + font_min = font_code + if font_code >= font_max: + font_max = font_code + icons.append([ font_id, font_code ]) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data -def convert_material_design( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = str.split( response.content, '\n' ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - for line in input: - words = str.split( line ) - if words: - font = '' - for char in words[ 0 ]: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = words[ 1 ] - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) +# Languages -def convert_kenney( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = str.split( response.content, '\n' ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - font_begin= '.ki-' - font_end = ':before' - unicode_begin = '"\\' - unicode_end = '";' - for line in input: - words = str.split( line ) - if words: - if font_begin in words[ 0 ]: - font = '' - word = words[ 0 ][( words[ 0 ].find( font_begin ) + len( font_begin )) : ( words[ 0 ].find( font_end ))] - for char in word: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = str( words[ 2 ][( words[ 2 ].find( unicode_begin ) + len( unicode_begin )) : words[ 2 ].find( unicode_end )]) - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) +class Language: + language_name = '[ ERROR - missing language name ]' + file_name = '[ ERROR - missing file name ]' + intermediate = {} + + def __init__( self, intermediate ): + self.intermediate = intermediate + + @classmethod + def prelude( cls ): + print('[ ERROR - missing implementation of class method prelude for {!s} ]'.format(cls.language_name)) + result = '[ ERROR - missing prelude ]' + return result + + @classmethod + def lines_minmax( cls ): + print('[ ERROR - missing implementation of class method lines_minmax for {!s} ]'.format(cls.language_name)) + result = '[ ERROR - missing min and max ]' + return result + + @classmethod + def line_icon( cls, icon ): + print('[ ERROR - missing implementation of class method line_icon for {!s} ]'.format( cls.language_name )) + result = '[ ERROR - missing icon line ]' + return result + + @classmethod + def convert( cls ): + result = cls.prelude() + cls.lines_minmax() + for icon in cls.intermediate.get( 'icons' ): + line_icon = cls.line_icon( icon ) + result += line_icon + print ( 'Converted - {!s} for {!s}' ).format( cls.intermediate.get( 'font_name' ), cls.language_name) + return result + + @classmethod + def save_to_file( cls ): + filename = cls.file_name.format( name = str(cls.intermediate.get( 'font_name' )).replace( ' ', '' )) + converted = cls.convert() + with open( filename, 'w' ) as f: + f.write( converted ) + print( 'Saved - {!s}' ).format( filename ) + + +class LanguageC89( Language ): + language_name = 'C89' + file_name = 'icons_{name}.h' + + @classmethod + def prelude( cls ): + tmpl_prelude = '// Generated by GenerateIconFontCppHeaders.py for language {lang}\n' + \ + '// from {url}\n' + \ + '// for use with {tff}\n' + \ + '#pragma once\n\n' + result = tmpl_prelude.format(lang = cls.language_name, + url = cls.intermediate.get('font_url'), + tff = cls.intermediate.get('font_tff')) + return result + + @classmethod + def lines_minmax( cls ): + tmpl_line_minmax = '#define ICON_{minmax}_{abbr} 0x{val}\n' + result = tmpl_line_minmax.format(minmax = 'MIN', + abbr = cls.intermediate.get('font_abbr'), + val = cls.intermediate.get('font_min')) + \ + tmpl_line_minmax.format(minmax = 'MAX', + abbr = cls.intermediate.get('font_abbr'), + val = cls.intermediate.get('font_max')) + return result + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = '#define ICON_{abbr}_{icon} "{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ) + code_base = ''.join([ '{0:x}'.format( ord( x )) for x in unichr( int( icon[ 1 ], 16 )).encode( 'utf-8' )]).upper() + icon_code = '\\x' + code_base[ :2 ] + '\\x' + code_base[ 2:4 ] + '\\x' + code_base[ 4: ] + result = tmpl_line_icon.format( abbr = cls.intermediate.get( 'font_abbr' ), + icon = icon_name, + code = icon_code ) + return result + + +class LanguageCpp11( LanguageC89 ): + language_name = 'C++11' + file_name = 'Icons{name}.h' + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = '#define ICON_{abbr}_{icon} u8"\u{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ) + icon_code = icon[ 1 ] + result = tmpl_line_icon.format( abbr = cls.intermediate.get('font_abbr'), + icon = icon_name, + code = icon_code) + return result + + +class LanguageNone( Language ): + language_name = 'None' + file_name = 'Icons{name}.n' + + @classmethod + def prelude( cls ): + tmpl_prelude = 'none\n' + \ + '; Generated by GenerateIconFontCppHeaders.py for language {lang}\n' + \ + '; from {url}\n' + \ + '; for use with {tff}\n' + \ + '\n$\n' + result = tmpl_prelude.format( lang = cls.language_name, + url = cls.intermediate.get( 'font_url' ), + tff = cls.intermediate.get( 'font_tff' )) + return result + + @classmethod + def lines_minmax( cls ): + tmpl_line_minmax = ' var icon-{minmax}-{abbr} 0x{val}\n' + result = tmpl_line_minmax.format( minmax = 'min', + abbr = cls.intermediate.get( 'font_abbr' ).lower(), + val = cls.intermediate.get( 'font_min' )) + \ + tmpl_line_minmax.format( minmax = 'max', + abbr = cls.intermediate.get( 'font_abbr' ).lower(), + val = cls.intermediate.get( 'font_max' )) + return result + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = ' var icon-{abbr}-{icon} "{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ).lower() + icon_code = unichr( int( icon[ 1 ], 16 )).encode( 'utf-8' ) + result = tmpl_line_icon.format( abbr = cls.intermediate.get( 'font_abbr' ).lower(), + icon = icon_name, + code = icon_code ) + return result # Main -convert_font_awesome( 'Font Awesome', 'FA', 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml', 'icons_font_awesome.h', False ) -convert_material_design( 'Material Design', 'MD', 'https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints', 'icons_material_design.h', False ) -convert_kenney( 'Kenney', 'KI', 'https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css', 'icons_kenney.h', False ) +fonts = [ FontKI , FontMD, FontFA ] +languages = [ LanguageC89 ] + +intermediates = [] +for font in fonts: + intermediates.append( font.get_intermediate_representation()) +for interm in intermediates: + Language.intermediate = interm + for lang in languages: + lang.save_to_file() diff --git a/3rdparty/iconfontheaders/icons_font_awesome.h b/3rdparty/iconfontheaders/icons_font_awesome.h index 346358f00..534e43c7f 100644 --- a/3rdparty/iconfontheaders/icons_font_awesome.h +++ b/3rdparty/iconfontheaders/icons_font_awesome.h @@ -1,9 +1,10 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml +// for use with https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf #pragma once #define ICON_MIN_FA 0xf000 -#define ICON_MAX_FA 0xf295 +#define ICON_MAX_FA 0xf2e0 #define ICON_FA_GLASS "\xEF\x80\x80" #define ICON_FA_MUSIC "\xEF\x80\x81" #define ICON_FA_SEARCH "\xEF\x80\x82" @@ -387,7 +388,7 @@ #define ICON_FA_STUMBLEUPON "\xEF\x86\xA4" #define ICON_FA_DELICIOUS "\xEF\x86\xA5" #define ICON_FA_DIGG "\xEF\x86\xA6" -#define ICON_FA_PIED_PIPER "\xEF\x86\xA7" +#define ICON_FA_PIED_PIPER_PP "\xEF\x86\xA7" #define ICON_FA_PIED_PIPER_ALT "\xEF\x86\xA8" #define ICON_FA_DRUPAL "\xEF\x86\xA9" #define ICON_FA_JOOMLA "\xEF\x86\xAA" @@ -609,3 +610,73 @@ #define ICON_FA_BLUETOOTH "\xEF\x8A\x93" #define ICON_FA_BLUETOOTH_B "\xEF\x8A\x94" #define ICON_FA_PERCENT "\xEF\x8A\x95" +#define ICON_FA_GITLAB "\xEF\x8A\x96" +#define ICON_FA_WPBEGINNER "\xEF\x8A\x97" +#define ICON_FA_WPFORMS "\xEF\x8A\x98" +#define ICON_FA_ENVIRA "\xEF\x8A\x99" +#define ICON_FA_UNIVERSAL_ACCESS "\xEF\x8A\x9A" +#define ICON_FA_WHEELCHAIR_ALT "\xEF\x8A\x9B" +#define ICON_FA_QUESTION_CIRCLE_O "\xEF\x8A\x9C" +#define ICON_FA_BLIND "\xEF\x8A\x9D" +#define ICON_FA_AUDIO_DESCRIPTION "\xEF\x8A\x9E" +#define ICON_FA_VOLUME_CONTROL_PHONE "\xEF\x8A\xA0" +#define ICON_FA_BRAILLE "\xEF\x8A\xA1" +#define ICON_FA_ASSISTIVE_LISTENING_SYSTEMS "\xEF\x8A\xA2" +#define ICON_FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING "\xEF\x8A\xA3" +#define ICON_FA_DEAF "\xEF\x8A\xA4" +#define ICON_FA_GLIDE "\xEF\x8A\xA5" +#define ICON_FA_GLIDE_G "\xEF\x8A\xA6" +#define ICON_FA_SIGN_LANGUAGE "\xEF\x8A\xA7" +#define ICON_FA_LOW_VISION "\xEF\x8A\xA8" +#define ICON_FA_VIADEO "\xEF\x8A\xA9" +#define ICON_FA_VIADEO_SQUARE "\xEF\x8A\xAA" +#define ICON_FA_SNAPCHAT "\xEF\x8A\xAB" +#define ICON_FA_SNAPCHAT_GHOST "\xEF\x8A\xAC" +#define ICON_FA_SNAPCHAT_SQUARE "\xEF\x8A\xAD" +#define ICON_FA_PIED_PIPER "\xEF\x8A\xAE" +#define ICON_FA_FIRST_ORDER "\xEF\x8A\xB0" +#define ICON_FA_YOAST "\xEF\x8A\xB1" +#define ICON_FA_THEMEISLE "\xEF\x8A\xB2" +#define ICON_FA_GOOGLE_PLUS_OFFICIAL "\xEF\x8A\xB3" +#define ICON_FA_FONT_AWESOME "\xEF\x8A\xB4" +#define ICON_FA_HANDSHAKE_O "\xEF\x8A\xB5" +#define ICON_FA_ENVELOPE_OPEN "\xEF\x8A\xB6" +#define ICON_FA_ENVELOPE_OPEN_O "\xEF\x8A\xB7" +#define ICON_FA_LINODE "\xEF\x8A\xB8" +#define ICON_FA_ADDRESS_BOOK "\xEF\x8A\xB9" +#define ICON_FA_ADDRESS_BOOK_O "\xEF\x8A\xBA" +#define ICON_FA_ADDRESS_CARD "\xEF\x8A\xBB" +#define ICON_FA_ADDRESS_CARD_O "\xEF\x8A\xBC" +#define ICON_FA_USER_CIRCLE "\xEF\x8A\xBD" +#define ICON_FA_USER_CIRCLE_O "\xEF\x8A\xBE" +#define ICON_FA_USER_O "\xEF\x8B\x80" +#define ICON_FA_ID_BADGE "\xEF\x8B\x81" +#define ICON_FA_ID_CARD "\xEF\x8B\x82" +#define ICON_FA_ID_CARD_O "\xEF\x8B\x83" +#define ICON_FA_QUORA "\xEF\x8B\x84" +#define ICON_FA_FREE_CODE_CAMP "\xEF\x8B\x85" +#define ICON_FA_TELEGRAM "\xEF\x8B\x86" +#define ICON_FA_THERMOMETER_FULL "\xEF\x8B\x87" +#define ICON_FA_THERMOMETER_THREE_QUARTERS "\xEF\x8B\x88" +#define ICON_FA_THERMOMETER_HALF "\xEF\x8B\x89" +#define ICON_FA_THERMOMETER_QUARTER "\xEF\x8B\x8A" +#define ICON_FA_THERMOMETER_EMPTY "\xEF\x8B\x8B" +#define ICON_FA_SHOWER "\xEF\x8B\x8C" +#define ICON_FA_BATH "\xEF\x8B\x8D" +#define ICON_FA_PODCAST "\xEF\x8B\x8E" +#define ICON_FA_WINDOW_MAXIMIZE "\xEF\x8B\x90" +#define ICON_FA_WINDOW_MINIMIZE "\xEF\x8B\x91" +#define ICON_FA_WINDOW_RESTORE "\xEF\x8B\x92" +#define ICON_FA_WINDOW_CLOSE "\xEF\x8B\x93" +#define ICON_FA_WINDOW_CLOSE_O "\xEF\x8B\x94" +#define ICON_FA_BANDCAMP "\xEF\x8B\x95" +#define ICON_FA_GRAV "\xEF\x8B\x96" +#define ICON_FA_ETSY "\xEF\x8B\x97" +#define ICON_FA_IMDB "\xEF\x8B\x98" +#define ICON_FA_RAVELRY "\xEF\x8B\x99" +#define ICON_FA_EERCAST "\xEF\x8B\x9A" +#define ICON_FA_MICROCHIP "\xEF\x8B\x9B" +#define ICON_FA_SNOWFLAKE_O "\xEF\x8B\x9C" +#define ICON_FA_SUPERPOWERS "\xEF\x8B\x9D" +#define ICON_FA_WPEXPLORER "\xEF\x8B\x9E" +#define ICON_FA_MEETUP "\xEF\x8B\xA0" diff --git a/3rdparty/iconfontheaders/icons_kenney.h b/3rdparty/iconfontheaders/icons_kenney.h index dbbcb48d9..0d9d313da 100644 --- a/3rdparty/iconfontheaders/icons_kenney.h +++ b/3rdparty/iconfontheaders/icons_kenney.h @@ -1,5 +1,6 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css +// for use with https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf #pragma once #define ICON_MIN_KI 0xe900 diff --git a/3rdparty/iconfontheaders/icons_material_design.h b/3rdparty/iconfontheaders/icons_material_design.h index 00ec9f68e..68213f6f3 100644 --- a/3rdparty/iconfontheaders/icons_material_design.h +++ b/3rdparty/iconfontheaders/icons_material_design.h @@ -1,5 +1,6 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints +// for use with https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf #pragma once #define ICON_MIN_MD 0xe000