You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FontAwesome.java 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. /*
  2. * Copyright 2000-2013 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.server;
  17. /**
  18. * FontAwesome set of font icons.
  19. * <p>
  20. * Each {@link FontIcon} comes from the FontAwesome font family, which is
  21. * included in the theme.<br/>
  22. * Consider this a starting point: it is unlikely an application needs exactly
  23. * these icons, and all of them, so you might want to consider making a custom
  24. * icon font - either to get other icons, or to minimize the size of the font.
  25. * </p>
  26. *
  27. * @since 7.2
  28. * @author Vaadin Ltd
  29. * @see http://fortawesome.github.io/Font-Awesome/
  30. */
  31. public enum FontAwesome implements FontIcon {
  32. GLASS(0XF000), //
  33. MUSIC(0XF001), //
  34. SEARCH(0XF002), //
  35. ENVELOPE_O(0XF003), //
  36. HEART(0XF004), //
  37. STAR(0XF005), //
  38. STAR_O(0XF006), //
  39. USER(0XF007), //
  40. FILM(0XF008), //
  41. TH_LARGE(0XF009), //
  42. TH(0XF00A), //
  43. TH_LIST(0XF00B), //
  44. CHECK(0XF00C), //
  45. TIMES(0XF00D), //
  46. SEARCH_PLUS(0XF00E), //
  47. SEARCH_MINUS(0XF010), //
  48. POWER_OFF(0XF011), //
  49. SIGNAL(0XF012), //
  50. COG(0XF013), //
  51. TRASH_O(0XF014), //
  52. HOME(0XF015), //
  53. FILE_O(0XF016), //
  54. CLOCK_O(0XF017), //
  55. ROAD(0XF018), //
  56. DOWNLOAD(0XF019), //
  57. ARROW_CIRCLE_O_DOWN(0XF01A), //
  58. ARROW_CIRCLE_O_UP(0XF01B), //
  59. INBOX(0XF01C), //
  60. PLAY_CIRCLE_O(0XF01D), //
  61. REPEAT(0XF01E), //
  62. REFRESH(0XF021), //
  63. LIST_ALT(0XF022), //
  64. LOCK(0XF023), //
  65. FLAG(0XF024), //
  66. HEADPHONES(0XF025), //
  67. VOLUME_OFF(0XF026), //
  68. VOLUME_DOWN(0XF027), //
  69. VOLUME_UP(0XF028), //
  70. QRCODE(0XF029), //
  71. BARCODE(0XF02A), //
  72. TAG(0XF02B), //
  73. TAGS(0XF02C), //
  74. BOOK(0XF02D), //
  75. BOOKMARK(0XF02E), //
  76. PRINT(0XF02F), //
  77. CAMERA(0XF030), //
  78. FONT(0XF031), //
  79. BOLD(0XF032), //
  80. ITALIC(0XF033), //
  81. TEXT_HEIGHT(0XF034), //
  82. TEXT_WIDTH(0XF035), //
  83. ALIGN_LEFT(0XF036), //
  84. ALIGN_CENTER(0XF037), //
  85. ALIGN_RIGHT(0XF038), //
  86. ALIGN_JUSTIFY(0XF039), //
  87. LIST(0XF03A), //
  88. OUTDENT(0XF03B), //
  89. INDENT(0XF03C), //
  90. VIDEO_CAMERA(0XF03D), //
  91. PICTURE_O(0XF03E), //
  92. PENCIL(0XF040), //
  93. MAP_MARKER(0XF041), //
  94. ADJUST(0XF042), //
  95. TINT(0XF043), //
  96. PENCIL_SQUARE_O(0XF044), //
  97. SHARE_SQUARE_O(0XF045), //
  98. CHECK_SQUARE_O(0XF046), //
  99. ARROWS(0XF047), //
  100. STEP_BACKWARD(0XF048), //
  101. FAST_BACKWARD(0XF049), //
  102. BACKWARD(0XF04A), //
  103. PLAY(0XF04B), //
  104. PAUSE(0XF04C), //
  105. STOP(0XF04D), //
  106. FORWARD(0XF04E), //
  107. FAST_FORWARD(0XF050), //
  108. STEP_FORWARD(0XF051), //
  109. EJECT(0XF052), //
  110. CHEVRON_LEFT(0XF053), //
  111. CHEVRON_RIGHT(0XF054), //
  112. PLUS_CIRCLE(0XF055), //
  113. MINUS_CIRCLE(0XF056), //
  114. TIMES_CIRCLE(0XF057), //
  115. CHECK_CIRCLE(0XF058), //
  116. QUESTION_CIRCLE(0XF059), //
  117. INFO_CIRCLE(0XF05A), //
  118. CROSSHAIRS(0XF05B), //
  119. TIMES_CIRCLE_O(0XF05C), //
  120. CHECK_CIRCLE_O(0XF05D), //
  121. BAN(0XF05E), //
  122. ARROW_LEFT(0XF060), //
  123. ARROW_RIGHT(0XF061), //
  124. ARROW_UP(0XF062), //
  125. ARROW_DOWN(0XF063), //
  126. SHARE(0XF064), //
  127. EXPAND(0XF065), //
  128. COMPRESS(0XF066), //
  129. PLUS(0XF067), //
  130. MINUS(0XF068), //
  131. ASTERISK(0XF069), //
  132. EXCLAMATION_CIRCLE(0XF06A), //
  133. GIFT(0XF06B), //
  134. LEAF(0XF06C), //
  135. FIRE(0XF06D), //
  136. EYE(0XF06E), //
  137. EYE_SLASH(0XF070), //
  138. EXCLAMATION_TRIANGLE(0XF071), //
  139. PLANE(0XF072), //
  140. CALENDAR(0XF073), //
  141. RANDOM(0XF074), //
  142. COMMENT(0XF075), //
  143. MAGNET(0XF076), //
  144. CHEVRON_UP(0XF077), //
  145. CHEVRON_DOWN(0XF078), //
  146. RETWEET(0XF079), //
  147. SHOPPING_CART(0XF07A), //
  148. FOLDER(0XF07B), //
  149. FOLDER_OPEN(0XF07C), //
  150. ARROWS_V(0XF07D), //
  151. ARROWS_H(0XF07E), //
  152. BAR_CHART_O(0XF080), //
  153. TWITTER_SQUARE(0XF081), //
  154. FACEBOOK_SQUARE(0XF082), //
  155. CAMERA_RETRO(0XF083), //
  156. KEY(0XF084), //
  157. COGS(0XF085), //
  158. COMMENTS(0XF086), //
  159. THUMBS_O_UP(0XF087), //
  160. THUMBS_O_DOWN(0XF088), //
  161. STAR_HALF(0XF089), //
  162. HEART_O(0XF08A), //
  163. SIGN_OUT(0XF08B), //
  164. LINKEDIN_SQUARE(0XF08C), //
  165. THUMB_TACK(0XF08D), //
  166. EXTERNAL_LINK(0XF08E), //
  167. SIGN_IN(0XF090), //
  168. TROPHY(0XF091), //
  169. GITHUB_SQUARE(0XF092), //
  170. UPLOAD(0XF093), //
  171. LEMON_O(0XF094), //
  172. PHONE(0XF095), //
  173. SQUARE_O(0XF096), //
  174. BOOKMARK_O(0XF097), //
  175. PHONE_SQUARE(0XF098), //
  176. TWITTER(0XF099), //
  177. FACEBOOK(0XF09A), //
  178. GITHUB(0XF09B), //
  179. UNLOCK(0XF09C), //
  180. CREDIT_CARD(0XF09D), //
  181. RSS(0XF09E), //
  182. HDD_O(0XF0A0), //
  183. BULLHORN(0XF0A1), //
  184. BELL(0XF0F3), //
  185. CERTIFICATE(0XF0A3), //
  186. HAND_O_RIGHT(0XF0A4), //
  187. HAND_O_LEFT(0XF0A5), //
  188. HAND_O_UP(0XF0A6), //
  189. HAND_O_DOWN(0XF0A7), //
  190. ARROW_CIRCLE_LEFT(0XF0A8), //
  191. ARROW_CIRCLE_RIGHT(0XF0A9), //
  192. ARROW_CIRCLE_UP(0XF0AA), //
  193. ARROW_CIRCLE_DOWN(0XF0AB), //
  194. GLOBE(0XF0AC), //
  195. WRENCH(0XF0AD), //
  196. TASKS(0XF0AE), //
  197. FILTER(0XF0B0), //
  198. BRIEFCASE(0XF0B1), //
  199. ARROWS_ALT(0XF0B2), //
  200. USERS(0XF0C0), //
  201. LINK(0XF0C1), //
  202. CLOUD(0XF0C2), //
  203. FLASK(0XF0C3), //
  204. SCISSORS(0XF0C4), //
  205. FILES_O(0XF0C5), //
  206. PAPERCLIP(0XF0C6), //
  207. FLOPPY_O(0XF0C7), //
  208. SQUARE(0XF0C8), //
  209. BARS(0XF0C9), //
  210. LIST_UL(0XF0CA), //
  211. LIST_OL(0XF0CB), //
  212. STRIKETHROUGH(0XF0CC), //
  213. UNDERLINE(0XF0CD), //
  214. TABLE(0XF0CE), //
  215. MAGIC(0XF0D0), //
  216. TRUCK(0XF0D1), //
  217. PINTEREST(0XF0D2), //
  218. PINTEREST_SQUARE(0XF0D3), //
  219. GOOGLE_PLUS_SQUARE(0XF0D4), //
  220. GOOGLE_PLUS(0XF0D5), //
  221. MONEY(0XF0D6), //
  222. CARET_DOWN(0XF0D7), //
  223. CARET_UP(0XF0D8), //
  224. CARET_LEFT(0XF0D9), //
  225. CARET_RIGHT(0XF0DA), //
  226. COLUMNS(0XF0DB), //
  227. SORT(0XF0DC), //
  228. SORT_ASC(0XF0DD), //
  229. SORT_DESC(0XF0DE), //
  230. ENVELOPE(0XF0E0), //
  231. LINKEDIN(0XF0E1), //
  232. UNDO(0XF0E2), //
  233. GAVEL(0XF0E3), //
  234. TACHOMETER(0XF0E4), //
  235. COMMENT_O(0XF0E5), //
  236. COMMENTS_O(0XF0E6), //
  237. BOLT(0XF0E7), //
  238. SITEMAP(0XF0E8), //
  239. UMBRELLA(0XF0E9), //
  240. CLIPBOARD(0XF0EA), //
  241. LIGHTBULB_O(0XF0EB), //
  242. EXCHANGE(0XF0EC), //
  243. CLOUD_DOWNLOAD(0XF0ED), //
  244. CLOUD_UPLOAD(0XF0EE), //
  245. USER_MD(0XF0F0), //
  246. STETHOSCOPE(0XF0F1), //
  247. SUITCASE(0XF0F2), //
  248. BELL_O(0XF0A2), //
  249. COFFEE(0XF0F4), //
  250. CUTLERY(0XF0F5), //
  251. FILE_TEXT_O(0XF0F6), //
  252. BUILDING_O(0XF0F7), //
  253. HOSPITAL_O(0XF0F8), //
  254. AMBULANCE(0XF0F9), //
  255. MEDKIT(0XF0FA), //
  256. FIGHTER_JET(0XF0FB), //
  257. BEER(0XF0FC), //
  258. H_SQUARE(0XF0FD), //
  259. PLUS_SQUARE(0XF0FE), //
  260. ANGLE_DOUBLE_LEFT(0XF100), //
  261. ANGLE_DOUBLE_RIGHT(0XF101), //
  262. ANGLE_DOUBLE_UP(0XF102), //
  263. ANGLE_DOUBLE_DOWN(0XF103), //
  264. ANGLE_LEFT(0XF104), //
  265. ANGLE_RIGHT(0XF105), //
  266. ANGLE_UP(0XF106), //
  267. ANGLE_DOWN(0XF107), //
  268. DESKTOP(0XF108), //
  269. LAPTOP(0XF109), //
  270. TABLET(0XF10A), //
  271. MOBILE(0XF10B), //
  272. CIRCLE_O(0XF10C), //
  273. QUOTE_LEFT(0XF10D), //
  274. QUOTE_RIGHT(0XF10E), //
  275. SPINNER(0XF110), //
  276. CIRCLE(0XF111), //
  277. REPLY(0XF112), //
  278. GITHUB_ALT(0XF113), //
  279. FOLDER_O(0XF114), //
  280. FOLDER_OPEN_O(0XF115), //
  281. SMILE_O(0XF118), //
  282. FROWN_O(0XF119), //
  283. MEH_O(0XF11A), //
  284. GAMEPAD(0XF11B), //
  285. KEYBOARD_O(0XF11C), //
  286. FLAG_O(0XF11D), //
  287. FLAG_CHECKERED(0XF11E), //
  288. TERMINAL(0XF120), //
  289. CODE(0XF121), //
  290. REPLY_ALL(0XF122), //
  291. MAIL_REPLY_ALL(0XF122), //
  292. STAR_HALF_O(0XF123), //
  293. LOCATION_ARROW(0XF124), //
  294. CROP(0XF125), //
  295. CODE_FORK(0XF126), //
  296. CHAIN_BROKEN(0XF127), //
  297. QUESTION(0XF128), //
  298. INFO(0XF129), //
  299. EXCLAMATION(0XF12A), //
  300. SUPERSCRIPT(0XF12B), //
  301. SUBSCRIPT(0XF12C), //
  302. ERASER(0XF12D), //
  303. PUZZLE_PIECE(0XF12E), //
  304. MICROPHONE(0XF130), //
  305. MICROPHONE_SLASH(0XF131), //
  306. SHIELD(0XF132), //
  307. CALENDAR_O(0XF133), //
  308. FIRE_EXTINGUISHER(0XF134), //
  309. ROCKET(0XF135), //
  310. MAXCDN(0XF136), //
  311. CHEVRON_CIRCLE_LEFT(0XF137), //
  312. CHEVRON_CIRCLE_RIGHT(0XF138), //
  313. CHEVRON_CIRCLE_UP(0XF139), //
  314. CHEVRON_CIRCLE_DOWN(0XF13A), //
  315. HTML5(0XF13B), //
  316. CSS3(0XF13C), //
  317. ANCHOR(0XF13D), //
  318. UNLOCK_ALT(0XF13E), //
  319. BULLSEYE(0XF140), //
  320. ELLIPSIS_H(0XF141), //
  321. ELLIPSIS_V(0XF142), //
  322. RSS_SQUARE(0XF143), //
  323. PLAY_CIRCLE(0XF144), //
  324. TICKET(0XF145), //
  325. MINUS_SQUARE(0XF146), //
  326. MINUS_SQUARE_O(0XF147), //
  327. LEVEL_UP(0XF148), //
  328. LEVEL_DOWN(0XF149), //
  329. CHECK_SQUARE(0XF14A), //
  330. PENCIL_SQUARE(0XF14B), //
  331. EXTERNAL_LINK_SQUARE(0XF14C), //
  332. SHARE_SQUARE(0XF14D), //
  333. COMPASS(0XF14E), //
  334. CARET_SQUARE_O_DOWN(0XF150), //
  335. CARET_SQUARE_O_UP(0XF151), //
  336. CARET_SQUARE_O_RIGHT(0XF152), //
  337. EUR(0XF153), //
  338. GBP(0XF154), //
  339. USD(0XF155), //
  340. INR(0XF156), //
  341. JPY(0XF157), //
  342. RUB(0XF158), //
  343. KRW(0XF159), //
  344. BTC(0XF15A), //
  345. FILE(0XF15B), //
  346. FILE_TEXT(0XF15C), //
  347. SORT_ALPHA_ASC(0XF15D), //
  348. SORT_ALPHA_DESC(0XF15E), //
  349. SORT_AMOUNT_ASC(0XF160), //
  350. SORT_AMOUNT_DESC(0XF161), //
  351. SORT_NUMERIC_ASC(0XF162), //
  352. SORT_NUMERIC_DESC(0XF163), //
  353. THUMBS_UP(0XF164), //
  354. THUMBS_DOWN(0XF165), //
  355. YOUTUBE_SQUARE(0XF166), //
  356. YOUTUBE(0XF167), //
  357. XING(0XF168), //
  358. XING_SQUARE(0XF169), //
  359. YOUTUBE_PLAY(0XF16A), //
  360. DROPBOX(0XF16B), //
  361. STACK_OVERFLOW(0XF16C), //
  362. INSTAGRAM(0XF16D), //
  363. FLICKR(0XF16E), //
  364. ADN(0XF170), //
  365. BITBUCKET(0XF171), //
  366. BITBUCKET_SQUARE(0XF172), //
  367. TUMBLR(0XF173), //
  368. TUMBLR_SQUARE(0XF174), //
  369. LONG_ARROW_DOWN(0XF175), //
  370. LONG_ARROW_UP(0XF176), //
  371. LONG_ARROW_LEFT(0XF177), //
  372. LONG_ARROW_RIGHT(0XF178), //
  373. APPLE(0XF179), //
  374. WINDOWS(0XF17A), //
  375. ANDROID(0XF17B), //
  376. LINUX(0XF17C), //
  377. DRIBBBLE(0XF17D), //
  378. SKYPE(0XF17E), //
  379. FOURSQUARE(0XF180), //
  380. TRELLO(0XF181), //
  381. FEMALE(0XF182), //
  382. MALE(0XF183), //
  383. GITTIP(0XF184), //
  384. SUN_O(0XF185), //
  385. MOON_O(0XF186), //
  386. ARCHIVE(0XF187), //
  387. BUG(0XF188), //
  388. VK(0XF189), //
  389. WEIBO(0XF18A), //
  390. RENREN(0XF18B), //
  391. PAGELINES(0XF18C), //
  392. STACK_EXCHANGE(0XF18D), //
  393. ARROW_CIRCLE_O_RIGHT(0XF18E), //
  394. ARROW_CIRCLE_O_LEFT(0XF190), //
  395. CARET_SQUARE_O_LEFT(0XF191), //
  396. DOT_CIRCLE_O(0XF192), //
  397. WHEELCHAIR(0XF193), //
  398. VIMEO_SQUARE(0XF194), //
  399. TRY(0XF195), //
  400. PLUS_SQUARE_O(0XF196);
  401. private static final String fontFamily = "FontAwesome";
  402. private int codepoint;
  403. FontAwesome(int codepoint) {
  404. this.codepoint = codepoint;
  405. }
  406. /**
  407. * Unsupported: {@link FontIcon} does not have a MIME type and is not a
  408. * {@link Resource} that can be used in a context where a MIME type would be
  409. * needed.
  410. */
  411. @Override
  412. public String getMIMEType() {
  413. throw new UnsupportedOperationException(FontIcon.class.getSimpleName()
  414. + " should not be used where a MIME type is needed.");
  415. }
  416. /*
  417. * (non-Javadoc)
  418. *
  419. * @see com.vaadin.ui.FontIcon#getFontFamily()
  420. */
  421. @Override
  422. public String getFontFamily() {
  423. return fontFamily;
  424. }
  425. /*
  426. * (non-Javadoc)
  427. *
  428. * @see com.vaadin.ui.FontIcon#getCodepoint()
  429. */
  430. @Override
  431. public int getCodepoint() {
  432. return codepoint;
  433. }
  434. @Override
  435. public String getHtml() {
  436. return "<span class=\"v-icon\" style=\"font-family: " + fontFamily
  437. + ";\">&#x" + Integer.toHexString(codepoint) + ";</span>";
  438. }
  439. }