diff --git a/library/res/raw/font_awesome.ttf b/library/res/raw/font_awesome.ttf index d461724..e89738d 100755 Binary files a/library/res/raw/font_awesome.ttf and b/library/res/raw/font_awesome.ttf differ diff --git a/library/src/com/atermenji/android/iconicdroid/icon/EntypoIcon.java b/library/src/com/atermenji/android/iconicdroid/icon/EntypoIcon.java index 3bf52dd..499090b 100644 --- a/library/src/com/atermenji/android/iconicdroid/icon/EntypoIcon.java +++ b/library/src/com/atermenji/android/iconicdroid/icon/EntypoIcon.java @@ -15,6 +15,7 @@ */ package com.atermenji.android.iconicdroid.icon; +import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicDroidTypefaces; import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicTypeface; /** @@ -269,7 +270,7 @@ private EntypoIcon(int iconUtfValue) { @Override public IconicTypeface getIconicTypeface() { - return IconicTypeface.ENTYPO; + return IconicDroidTypefaces.ENTYPO; } @Override diff --git a/library/src/com/atermenji/android/iconicdroid/icon/EntypoSocialIcon.java b/library/src/com/atermenji/android/iconicdroid/icon/EntypoSocialIcon.java index bf63e9a..e415d85 100644 --- a/library/src/com/atermenji/android/iconicdroid/icon/EntypoSocialIcon.java +++ b/library/src/com/atermenji/android/iconicdroid/icon/EntypoSocialIcon.java @@ -15,6 +15,7 @@ */ package com.atermenji.android.iconicdroid.icon; +import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicDroidTypefaces; import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicTypeface; /** @@ -77,7 +78,7 @@ private EntypoSocialIcon(int iconUtfValue) { @Override public IconicTypeface getIconicTypeface() { - return IconicTypeface.ENTYPO_SOCIAL; + return IconicDroidTypefaces.ENTYPO_SOCIAL; } @Override diff --git a/library/src/com/atermenji/android/iconicdroid/icon/FontAwesomeIcon.java b/library/src/com/atermenji/android/iconicdroid/icon/FontAwesomeIcon.java index 235d07a..b17fd09 100644 --- a/library/src/com/atermenji/android/iconicdroid/icon/FontAwesomeIcon.java +++ b/library/src/com/atermenji/android/iconicdroid/icon/FontAwesomeIcon.java @@ -15,42 +15,46 @@ */ package com.atermenji.android.iconicdroid.icon; +import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicDroidTypefaces; import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicTypeface; /** - * A wrapper for Font Awesome icon font (http://fortawesome.github.com/Font-Awesome/). + * A wrapper for Font Awesome icon font + * (http://fortawesome.github.com/Font-Awesome/). This list was generated + * programattically from + * https://raw.github.com/FortAwesome/Font-Awesome/master/src/icons.yml. */ public enum FontAwesomeIcon implements Icon { - + GLASS(0xF000), MUSIC(0xF001), SEARCH(0xF002), - ENVELOPE(0xF003), + ENVELOPE_O(0xF003), HEART(0xF004), STAR(0xF005), - STAR_EMPTY(0xF006), + STAR_O(0xF006), USER(0xF007), FILM(0xF008), TH_LARGE(0xF009), TH(0xF00A), TH_LIST(0xF00B), - OK(0xF00C), - REMOVE(0xF00D), - ZOOM_IN(0xF00E), - ZOOM_OUT(0xF010), - OFF(0xF011), + CHECK(0xF00C), + TIMES(0xF00D), + SEARCH_PLUS(0xF00E), + SEARCH_MINUS(0xF010), + POWER_OFF(0xF011), SIGNAL(0xF012), COG(0xF013), - TRASH(0xF014), + TRASH_O(0xF014), HOME(0xF015), - FILE(0xF016), - TIME(0xF017), + FILE_O(0xF016), + CLOCK_O(0xF017), ROAD(0xF018), - DOWNLOAD_ALT(0xF019), - DOWNLOAD(0xF01A), - UPLOAD(0xF01B), + DOWNLOAD(0xF019), + ARROW_CIRCLE_O_DOWN(0xF01A), + ARROW_CIRCLE_O_UP(0xF01B), INBOX(0xF01C), - PLAY_CIRCLE(0xF01D), + PLAY_CIRCLE_O(0xF01D), REPEAT(0xF01E), REFRESH(0xF021), LIST_ALT(0xF022), @@ -78,18 +82,18 @@ public enum FontAwesomeIcon implements Icon { ALIGN_RIGHT(0xF038), ALIGN_JUSTIFY(0xF039), LIST(0xF03A), - INDENT_LEFT(0xF03B), - INDENT_RIGHT(0xF03C), - FACETIME_VIDEO(0xF03D), - PICTURE(0xF03E), + OUTDENT(0xF03B), + INDENT(0xF03C), + VIDEO_CAMERA(0xF03D), + PICTURE_O(0xF03E), PENCIL(0xF040), MAP_MARKER(0xF041), ADJUST(0xF042), TINT(0xF043), - EDIT(0xF044), - SHARE(0xF045), - CHECK(0xF046), - MOVE(0xF047), + PENCIL_SQUARE_O(0xF044), + SHARE_SQUARE_O(0xF045), + CHECK_SQUARE_O(0xF046), + ARROWS(0xF047), STEP_BACKWARD(0xF048), FAST_BACKWARD(0xF049), BACKWARD(0xF04A), @@ -102,33 +106,33 @@ public enum FontAwesomeIcon implements Icon { EJECT(0xF052), CHEVRON_LEFT(0xF053), CHEVRON_RIGHT(0xF054), - PLUS_SIGN(0xF055), - MINUS_SIGN(0xF056), - REMOVE_SIGN(0xF057), - OK_SIGN(0xF058), - QUESTION_SIGN(0xF059), - INFO_SIGN(0xF05A), - SCREENSHOT(0xF05B), - REMOVE_CIRCLE(0xF05C), - OK_CIRCLE(0xF05D), - BAN_CIRCLE(0xF05E), + PLUS_CIRCLE(0xF055), + MINUS_CIRCLE(0xF056), + TIMES_CIRCLE(0xF057), + CHECK_CIRCLE(0xF058), + QUESTION_CIRCLE(0xF059), + INFO_CIRCLE(0xF05A), + CROSSHAIRS(0xF05B), + TIMES_CIRCLE_O(0xF05C), + CHECK_CIRCLE_O(0xF05D), + BAN(0xF05E), ARROW_LEFT(0xF060), ARROW_RIGHT(0xF061), ARROW_UP(0xF062), ARROW_DOWN(0xF063), - SHARE_ALT(0xF064), - RESIZE_FULL(0xF065), - RESIZE_SMALL(0xF066), + SHARE(0xF064), + EXPAND(0xF065), + COMPRESS(0xF066), PLUS(0xF067), MINUS(0xF068), ASTERISK(0xF069), - EXCLAMATION_SIGN(0xF06A), + EXCLAMATION_CIRCLE(0xF06A), GIFT(0xF06B), LEAF(0xF06C), FIRE(0xF06D), - EYE_OPEN(0xF06E), - EYE_CLOSE(0xF070), - WARNING_SIGN(0xF071), + EYE(0xF06E), + EYE_SLASH(0xF070), + EXCLAMATION_TRIANGLE(0xF071), PLANE(0xF072), CALENDAR(0xF073), RANDOM(0xF074), @@ -138,68 +142,68 @@ public enum FontAwesomeIcon implements Icon { CHEVRON_DOWN(0xF078), RETWEET(0xF079), SHOPPING_CART(0xF07A), - FOLDER_CLOSE(0xF07B), + FOLDER(0xF07B), FOLDER_OPEN(0xF07C), - RESIZE_VERTICAL(0xF07D), - RESIZE_HORIZONTAL(0xF07E), - BAR_CHART(0xF080), - TWITTER_SIGN(0xF081), - FACEBOOK_SIGN(0xF082), + ARROWS_V(0xF07D), + ARROWS_H(0xF07E), + BAR_CHART_O(0xF080), + TWITTER_SQUARE(0xF081), + FACEBOOK_SQUARE(0xF082), CAMERA_RETRO(0xF083), KEY(0xF084), COGS(0xF085), COMMENTS(0xF086), - THUMBS_UP(0xF087), - THUMBS_DOWN(0xF088), + THUMBS_O_UP(0xF087), + THUMBS_O_DOWN(0xF088), STAR_HALF(0xF089), - HEART_EMPTY(0xF08A), - SIGNOUT(0xF08B), - LINKEDIN_SIGN(0xF08C), - PUSHPIN(0xF08D), + HEART_O(0xF08A), + SIGN_OUT(0xF08B), + LINKEDIN_SQUARE(0xF08C), + THUMB_TACK(0xF08D), EXTERNAL_LINK(0xF08E), - SIGNIN(0xF090), + SIGN_IN(0xF090), TROPHY(0xF091), - GITHUB_SIGN(0xF092), - UPLOAD_ALT(0xF093), - LEMON(0xF094), + GITHUB_SQUARE(0xF092), + UPLOAD(0xF093), + LEMON_O(0xF094), PHONE(0xF095), - CHECK_EMPTY(0xF096), - BOOKMARK_EMPTY(0xF097), - PHONE_SIGN(0xF098), + SQUARE_O(0xF096), + BOOKMARK_O(0xF097), + PHONE_SQUARE(0xF098), TWITTER(0xF099), FACEBOOK(0xF09A), GITHUB(0xF09B), UNLOCK(0xF09C), CREDIT_CARD(0xF09D), RSS(0xF09E), - HDD(0xF0A0), + HDD_O(0xF0A0), BULLHORN(0xF0A1), - BELL(0xF0A2), + BELL(0xF0F3), CERTIFICATE(0xF0A3), - HAND_RIGHT(0xF0A4), - HAND_LEFT(0xF0A5), - HAND_UP(0xF0A6), - HAND_DOWN(0xF0A7), - CIRCLE_ARROW_LEFT(0xF0A8), - CIRCLE_ARROW_RIGHT(0xF0A9), - CIRCLE_ARROW_UP(0xF0AA), - CIRCLE_ARROW_DOWN(0xF0AB), + HAND_O_RIGHT(0xF0A4), + HAND_O_LEFT(0xF0A5), + HAND_O_UP(0xF0A6), + HAND_O_DOWN(0xF0A7), + ARROW_CIRCLE_LEFT(0xF0A8), + ARROW_CIRCLE_RIGHT(0xF0A9), + ARROW_CIRCLE_UP(0xF0AA), + ARROW_CIRCLE_DOWN(0xF0AB), GLOBE(0xF0AC), WRENCH(0xF0AD), TASKS(0xF0AE), FILTER(0xF0B0), BRIEFCASE(0xF0B1), - FULLSCREEN(0xF0B2), - GROUP(0xF0C0), + ARROWS_ALT(0xF0B2), + USERS(0xF0C0), LINK(0xF0C1), CLOUD(0xF0C2), - BEAKER(0xF0C3), - CUT(0xF0C4), - COPY(0xF0C5), - PAPER_CLIP(0xF0C6), - SAVE(0xF0C7), - SIGN_BLANK(0xF0C8), - REORDER(0xF0C9), + FLASK(0xF0C3), + SCISSORS(0xF0C4), + FILES_O(0xF0C5), + PAPERCLIP(0xF0C6), + FLOPPY_O(0xF0C7), + SQUARE(0xF0C8), + BARS(0xF0C9), LIST_UL(0xF0CA), LIST_OL(0xF0CB), STRIKETHROUGH(0xF0CC), @@ -208,8 +212,8 @@ public enum FontAwesomeIcon implements Icon { MAGIC(0xF0D0), TRUCK(0xF0D1), PINTEREST(0xF0D2), - PINTEREST_SIGN(0xF0D3), - GOOGLE_PLUS_SIGN(0xF0D4), + PINTEREST_SQUARE(0xF0D3), + GOOGLE_PLUS_SQUARE(0xF0D4), GOOGLE_PLUS(0xF0D5), MONEY(0xF0D6), CARET_DOWN(0xF0D7), @@ -218,42 +222,42 @@ public enum FontAwesomeIcon implements Icon { CARET_RIGHT(0xF0DA), COLUMNS(0xF0DB), SORT(0xF0DC), - SORT_DOWN(0xF0DD), - SORT_UP(0xF0DE), - ENVELOPE_ALT(0xF0E0), + SORT_ASC(0xF0DD), + SORT_DESC(0xF0DE), + ENVELOPE(0xF0E0), LINKEDIN(0xF0E1), UNDO(0xF0E2), - LEGAL(0xF0E3), - DASHBOARD(0xF0E4), - COMMENT_ALT(0xF0E5), - COMMENTS_ALT(0xF0E6), + GAVEL(0xF0E3), + TACHOMETER(0xF0E4), + COMMENT_O(0xF0E5), + COMMENTS_O(0xF0E6), BOLT(0xF0E7), SITEMAP(0xF0E8), UMBRELLA(0xF0E9), - PASTE(0xF0EA), - LIGHTBULB(0xF0EB), + CLIPBOARD(0xF0EA), + LIGHTBULB_O(0xF0EB), EXCHANGE(0xF0EC), CLOUD_DOWNLOAD(0xF0ED), CLOUD_UPLOAD(0xF0EE), USER_MD(0xF0F0), STETHOSCOPE(0xF0F1), SUITCASE(0xF0F2), - BELL_ALT(0xF0F3), + BELL_O(0xF0A2), COFFEE(0xF0F4), - FOOD(0xF0F5), - FILE_ALT(0xF0F6), - BUILDING(0xF0F7), - HOSPITAL(0xF0F8), + CUTLERY(0xF0F5), + FILE_TEXT_O(0xF0F6), + BUILDING_O(0xF0F7), + HOSPITAL_O(0xF0F8), AMBULANCE(0xF0F9), MEDKIT(0xF0FA), FIGHTER_JET(0xF0FB), BEER(0xF0FC), - H_SIGN(0xF0FD), - PLUS_SIGN_ALT(0xF0FE), - DOUBLE_ANGLE_LEFT(0xF100), - DOUBLE_ANGLE_RIGHT(0xF101), - DOUBLE_ANGLE_UP(0xF102), - DOUBLE_ANGLE_DOWN(0xF103), + H_SQUARE(0xF0FD), + PLUS_SQUARE(0xF0FE), + ANGLE_DOUBLE_LEFT(0xF100), + ANGLE_DOUBLE_RIGHT(0xF101), + ANGLE_DOUBLE_UP(0xF102), + ANGLE_DOUBLE_DOWN(0xF103), ANGLE_LEFT(0xF104), ANGLE_RIGHT(0xF105), ANGLE_UP(0xF106), @@ -261,17 +265,137 @@ public enum FontAwesomeIcon implements Icon { DESKTOP(0xF108), LAPTOP(0xF109), TABLET(0xF10A), - MOBILE_PHONE(0xF10B), - CIRCLE_BLANK(0xF10C), + MOBILE(0xF10B), + CIRCLE_O(0xF10C), QUOTE_LEFT(0xF10D), QUOTE_RIGHT(0xF10E), SPINNER(0xF110), CIRCLE(0xF111), REPLY(0xF112), GITHUB_ALT(0xF113), - FOLDER_CLOSE_ALT(0xF114), - FOLDER_OPEN_ALT(0xF115); - + FOLDER_O(0xF114), + FOLDER_OPEN_O(0xF115), + SMILE_O(0xF118), + FROWN_O(0xF119), + MEH_O(0xF11A), + GAMEPAD(0xF11B), + KEYBOARD_O(0xF11C), + FLAG_O(0xF11D), + FLAG_CHECKERED(0xF11E), + TERMINAL(0xF120), + CODE(0xF121), + REPLY_ALL(0xF122), + MAIL_REPLY_ALL(0xF122), + STAR_HALF_O(0xF123), + LOCATION_ARROW(0xF124), + CROP(0xF125), + CODE_FORK(0xF126), + CHAIN_BROKEN(0xF127), + QUESTION(0xF128), + INFO(0xF129), + EXCLAMATION(0xF12A), + SUPERSCRIPT(0xF12B), + SUBSCRIPT(0xF12C), + ERASER(0xF12D), + PUZZLE_PIECE(0xF12E), + MICROPHONE(0xF130), + MICROPHONE_SLASH(0xF131), + SHIELD(0xF132), + CALENDAR_O(0xF133), + FIRE_EXTINGUISHER(0xF134), + ROCKET(0xF135), + MAXCDN(0xF136), + CHEVRON_CIRCLE_LEFT(0xF137), + CHEVRON_CIRCLE_RIGHT(0xF138), + CHEVRON_CIRCLE_UP(0xF139), + CHEVRON_CIRCLE_DOWN(0xF13A), + HTML5(0xF13B), + CSS3(0xF13C), + ANCHOR(0xF13D), + UNLOCK_ALT(0xF13E), + BULLSEYE(0xF140), + ELLIPSIS_H(0xF141), + ELLIPSIS_V(0xF142), + RSS_SQUARE(0xF143), + PLAY_CIRCLE(0xF144), + TICKET(0xF145), + MINUS_SQUARE(0xF146), + MINUS_SQUARE_O(0xF147), + LEVEL_UP(0xF148), + LEVEL_DOWN(0xF149), + CHECK_SQUARE(0xF14A), + PENCIL_SQUARE(0xF14B), + EXTERNAL_LINK_SQUARE(0xF14C), + SHARE_SQUARE(0xF14D), + COMPASS(0xF14E), + CARET_SQUARE_O_DOWN(0xF150), + CARET_SQUARE_O_UP(0xF151), + CARET_SQUARE_O_RIGHT(0xF152), + EUR(0xF153), + GBP(0xF154), + USD(0xF155), + INR(0xF156), + JPY(0xF157), + RUB(0xF158), + KRW(0xF159), + BTC(0xF15A), + FILE(0xF15B), + FILE_TEXT(0xF15C), + SORT_ALPHA_ASC(0xF15D), + SORT_ALPHA_DESC(0xF15E), + SORT_AMOUNT_ASC(0xF160), + SORT_AMOUNT_DESC(0xF161), + SORT_NUMERIC_ASC(0xF162), + SORT_NUMERIC_DESC(0xF163), + THUMBS_UP(0xF164), + THUMBS_DOWN(0xF165), + YOUTUBE_SQUARE(0xF166), + YOUTUBE(0xF167), + XING(0xF168), + XING_SQUARE(0xF169), + YOUTUBE_PLAY(0xF16A), + DROPBOX(0xF16B), + STACK_OVERFLOW(0xF16C), + INSTAGRAM(0xF16D), + FLICKR(0xF16E), + ADN(0xF170), + BITBUCKET(0xF171), + BITBUCKET_SQUARE(0xF172), + TUMBLR(0xF173), + TUMBLR_SQUARE(0xF174), + LONG_ARROW_DOWN(0xF175), + LONG_ARROW_UP(0xF176), + LONG_ARROW_LEFT(0xF177), + LONG_ARROW_RIGHT(0xF178), + APPLE(0xF179), + WINDOWS(0xF17A), + ANDROID(0xF17B), + LINUX(0xF17C), + DRIBBBLE(0xF17D), + SKYPE(0xF17E), + FOURSQUARE(0xF180), + TRELLO(0xF181), + FEMALE(0xF182), + MALE(0xF183), + GITTIP(0xF184), + SUN_O(0xF185), + MOON_O(0xF186), + ARCHIVE(0xF187), + BUG(0xF188), + VK(0xF189), + WEIBO(0xF18A), + RENREN(0xF18B), + PAGELINES(0xF18C), + STACK_EXCHANGE(0xF18D), + ARROW_CIRCLE_O_RIGHT(0xF18E), + ARROW_CIRCLE_O_LEFT(0xF190), + CARET_SQUARE_O_LEFT(0xF191), + DOT_CIRCLE_O(0xF192), + WHEELCHAIR(0xF193), + VIMEO_SQUARE(0xF194), + TRY(0xF195), + PLUS_SQUARE_O(0xF196); + private final int mIconUtfValue; private FontAwesomeIcon(int iconUtfValue) { @@ -280,7 +404,7 @@ private FontAwesomeIcon(int iconUtfValue) { @Override public IconicTypeface getIconicTypeface() { - return IconicTypeface.FONT_AWESOME; + return IconicDroidTypefaces.FONT_AWESOME; } @Override diff --git a/library/src/com/atermenji/android/iconicdroid/icon/IconicIcon.java b/library/src/com/atermenji/android/iconicdroid/icon/IconicIcon.java index d337410..04051b6 100644 --- a/library/src/com/atermenji/android/iconicdroid/icon/IconicIcon.java +++ b/library/src/com/atermenji/android/iconicdroid/icon/IconicIcon.java @@ -15,6 +15,7 @@ */ package com.atermenji.android.iconicdroid.icon; +import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicDroidTypefaces; import com.atermenji.android.iconicdroid.util.TypefaceManager.IconicTypeface; /** @@ -182,7 +183,7 @@ private IconicIcon(int iconUtfValue) { @Override public IconicTypeface getIconicTypeface() { - return IconicTypeface.ICONIC; + return IconicDroidTypefaces.ICONIC; } @Override diff --git a/library/src/com/atermenji/android/iconicdroid/util/TypefaceManager.java b/library/src/com/atermenji/android/iconicdroid/util/TypefaceManager.java index c1a756c..6f32a40 100644 --- a/library/src/com/atermenji/android/iconicdroid/util/TypefaceManager.java +++ b/library/src/com/atermenji/android/iconicdroid/util/TypefaceManager.java @@ -38,8 +38,20 @@ public class TypefaceManager { private TypefaceManager() { } + + public static interface IconicTypeface { - public enum IconicTypeface { + /** + * Loads a {@link Typeface} for the given icon font. + * {@link Typeface} is loaded only once to avoid memory consumption. + * + * @param context + * @return {@link Typeface} + */ + public Typeface getTypeface(final Context context); + } + + public static enum IconicDroidTypefaces implements IconicTypeface { ENTYPO(R.raw.entypo), ENTYPO_SOCIAL(R.raw.entypo_social), @@ -49,17 +61,10 @@ public enum IconicTypeface { private final int mTypefaceResourceId; private Typeface mTypeface; - private IconicTypeface(int typefaceResourceId) { + private IconicDroidTypefaces(int typefaceResourceId) { mTypefaceResourceId = typefaceResourceId; } - /** - * Loads a {@link Typeface} for the given icon font. - * {@link Typeface} is loaded only once to avoid memory consumption. - * - * @param context - * @return {@link Typeface} - */ public Typeface getTypeface(final Context context) { if (mTypeface == null) { mTypeface = createTypefaceFromResource(context, mTypefaceResourceId); @@ -69,7 +74,7 @@ public Typeface getTypeface(final Context context) { } } - private static Typeface createTypefaceFromResource(final Context context, final int resource) { + public static Typeface createTypefaceFromResource(final Context context, final int resource) { Typeface typeface = null; InputStream inputStream = null; OutputStream outputStream = null;