From daa6a7b68e7339302322d862394e5a553c74f502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BChl?= Date: Wed, 25 Jul 2018 20:31:57 +0200 Subject: [PATCH 1/3] Update to FontAwesome 5.2 --- Assets/fa-brands-400.ttf | Bin 114816 -> 116280 bytes Assets/fa-regular-400.ttf | Bin 40516 -> 40416 bytes Assets/fa-solid-900.ttf | Bin 160548 -> 168176 bytes Classes/Enums/Awesome.swift | 48 ++++- Classes/Enums/AwesomePro.swift | 350 +++++++++++++++++++++++++++++++-- README.md | 2 +- 6 files changed, 379 insertions(+), 21 deletions(-) diff --git a/Assets/fa-brands-400.ttf b/Assets/fa-brands-400.ttf index 2b00dae7f43938d373e59c9b18011de7fd4250d7..2ffa92d4fadb1ccccee6568190d19de33a649c87 100644 GIT binary patch delta 6782 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 Iau#6t5788q!~g&Q delta 5205 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 diff --git a/Assets/fa-regular-400.ttf b/Assets/fa-regular-400.ttf index cefbd50f29c9a6a3bc2edf01dbea72b3e3eb1633..43406e854c2da65c8b265caef07f3c211ee88528 100644 GIT binary patch delta 1207 zcmYk4e`p(J7{}lDe&v$OkIVheHMyoq@6x7enr7EaOwu%#DivyxQR^5(*I8Y3b)8zI zbYi>FzeGxBhHOyA7&2xlGMj=^M{zKjhzv!jP(=Di{}7Qfic0^`#P^bI_`dht^WJm! z-1qZ5?|b()w(}LXTpIf9%IOgR{2KtAJ5qjSVv=3@Bmn@}L1vXvfXHJ%p!IEJ?d3OS zW~0y5zX1U50)QQ#ntplWm?Qu6g~h1f4FJxanSOib{&%PP0r)6<;Z`bmSE-M@E3w)AH&}z+KFv4M=p^E)D-n8wePSTbB;|q zNzc+>(!V)#&hySK*9q5E#>*UGw%l>|2kw2(nCDlo;+^sC`?9_pzQ5T~cGIu=uW>H! zDEB*G;+F+Vu!MCnC%z|cNP;vcZOcJ>JNa-yDwO-({cA;c@%>_LpgizxDOoyNdaJZnUH3mj&Yy#KfDdRO1Bw8U z(4c&fl4K}Z1JE*bD-)v}c1Vy8wZ-tX218J2g+`xg#E?a(5TqQk#iy;ls32i;|E`iA z!bM^vHr`y+^sqCD`56&+a$cwuRn64!ymvUutGv-_gytivv0%vXCzRu+JVdR#xj5A| z6wT_QjJpDS3bH5*N^*~p$&E9jhvz*a9SHHY<9bVr4)A)t{x!UV3JHTG=mS7EVrc%4 z(F;Z4aT#gL)UAGK79lEU0@Wisn)vW@h{+7sV9O43jND*e@N%`qgk}~@EwN(5jze6L zI|d$;Fypy_4p|`(DIXy6lMun$yp#E58?U;jc>J*k@C(#t1?V7+PJDw!gQ&&mN}|Vz zVOnWPz$-t_1p@HcGD8j$4j=u{Kkrg`)UR*_4v8u(4wB3=?Q;+h{beV5$E%R6u#!~0 z93P1ek^t22L0gjr0ni1q;3=dUL0c&y!E`Iy-WZZaoj_YCNHP_P8I&x^8cbUmG>ryG z0uBp04tMo2+aMa&DIIs3g@ILCmNKK=9EH% zjDOPO!Ckb>`$f^u%d`s`4b+RHQB|Zt9G$%(@GJnl&0;gjmFbgh&}L8*k775P%4a(@ yoP?0Fe?<`Xox&-ob@D9BXKe;nZGH&ZruJebep17rRoPjRX{8wh)r+s)H2(wVAN#Wa delta 1342 zcmZuwZDqLeu&IK8=H^~qw(ht%PPR1yUNMU7E*GUl>WsI%tLn&jQoD3)1m_yP%X|w5=&)e^K z?s@tDe*fRI@wsJr(eh!wZ}*qo6#!h<0eEY1;-$l54c%Z60I-3(Ie{n0v}F~4FXA4a zI6i%X`cmbgt$Qemn@tKs7%HK=Y>54Yy=QyDcEujDPust9WE`_xgge50;mkPCIv+OV8!ovR*O=?R zd(b_{$NBU855fWAjPTe~@~n8O;vsQa3QObCAM%L&n|IRtOXF2v*mtAoANN1rF&mHr zQ-RfBTku-Q2(30vDGkb}&BwwZd`?x=yPB+x>56_)5Iwr4$?%`WDQ+)VDT{7C-Y{9Jy$@|o*7s<<281b)yA z_Jbh+l8S~8GLyPTu+p{a5yUhU#F&}r(yfY?=n`m3H#L2$CgL4XHxqG9!RsUrT6Ilv zLRyfZ7|TI34r2j`e~4RE&BC`G2uUnQL@5$cHc9snsb*1aPns-eaM0by(!7mAB&Fsf zG~dY6!G!Pz!IBLGX_2?Ex)Dl-th61uC|G^y>NF%I^MTG5R`UuRW0U+o-KVNPqn~40 z4rcgvw~gThuhz0RN;9m3=N&9V1?8gz=_XmC+KRDAvhXxMwIkTbJKQ9FUzD-=Ha9ny z;7zy$+Cdx)0H8jLujLscVWHx6osvy;G4WLPX(?#<@e`Uw%rlZ#pHf5}^6MKlMatFN zSTGl|)7DTjUnh>x>;LCONB6e;R|4JVKUou@UqWsN?+bKbivO}iQtjQ~SA;~9;ue5bg|1m3u9crxB$wJ`p~jKNLDcb3d43=u!|wA| z@(4q?Y;}AQXArjv)w-{_NaDLz;DfDOJU|6W01`p~#1d9!;f2Pu2#aJU`*n-`PI1ybW;SNr+XWz7VgTEB`tXaJ;`A^!8XWUYU>o E4J6MPEdT%j diff --git a/Assets/fa-solid-900.ttf b/Assets/fa-solid-900.ttf index 618136ab12df83b807b9ae22d073b0689e6b4472..a1da1bbb5cfe3dada307313edf776231171c80e9 100644 GIT binary patch delta 24647 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 Date: Wed, 25 Jul 2018 20:41:14 +0200 Subject: [PATCH 2/3] Replace tabstops with spaces in generator --- Generator/Sources/Generator/EnumBuilder.swift | 18 +-- .../Sources/Generator/StringExtensions.swift | 143 +++++++++--------- 2 files changed, 80 insertions(+), 81 deletions(-) diff --git a/Generator/Sources/Generator/EnumBuilder.swift b/Generator/Sources/Generator/EnumBuilder.swift index ec8bc25..8c635e0 100644 --- a/Generator/Sources/Generator/EnumBuilder.swift +++ b/Generator/Sources/Generator/EnumBuilder.swift @@ -1,17 +1,17 @@ import Foundation func buildEnum (_ name: String, from styles: [String: [Icon]]) -> String { - let formatter = DateFormatter() - formatter.dateFormat = "dd/MM/yyyy HH:mm" - + let formatter = DateFormatter() + formatter.dateFormat = "dd/MM/yyyy HH:mm" + var content = "" content += "//\n// \(name).swift\n// AwesomeEnum\n//\n// Originally created by Ondrej Rafaj on 13/10/2017.\n" content += "// Copyright © 2017 manGoweb UK. All rights reserved.\n//\n" - content += "// This file has been auto-generated on \(formatter.string(from: Date())).\n\nimport Foundation\n\npublic struct \(name) {\n" + content += "// This file has been auto-generated on \(formatter.string(from: Date())).\n\nimport Foundation\n\npublic struct \(name) {\n" for (var style, list) in styles { - if style == "brands" { style = "brand" } - + if style == "brands" { style = "brand" } + content += "\n public enum \(style): String, Amazing {\n" var names = [String]() for icon in list { @@ -20,12 +20,12 @@ func buildEnum (_ name: String, from styles: [String: [Icon]]) -> String { if Int(name.prefix(1)) != nil { name = "fa\(name)" } names.append(name) - content += " case \(name.isKeyword ? "`\(name)`" : name) = \"\\u{\(icon.unicode)}\"\n" + content += " case \(name.isKeyword ? "`\(name)`" : name) = \"\\u{\(icon.unicode)}\"\n" } content += "\n public static var all: [\(style)] {\n return [ \(names.map {"\(style).\($0)"}.joined(separator: ", ")) ]\n }\n" - content += "\n public static var keys: [String] {\n return [ \(list.map {"\"\($0.name)\""}.joined(separator: ", ")) ]\n }\n" - content += "\n public static var labels: [String] {\n return [ \(list.map {"\"\($0.name.split(separator: "-").map { $0.firstUppercased() }.joined(separator: " "))\""}.joined(separator: ", ")) ]\n }\n" + content += "\n public static var keys: [String] {\n return [ \(list.map {"\"\($0.name)\""}.joined(separator: ", ")) ]\n }\n" + content += "\n public static var labels: [String] {\n return [ \(list.map {"\"\($0.name.split(separator: "-").map { $0.firstUppercased() }.joined(separator: " "))\""}.joined(separator: ", ")) ]\n }\n" content += "\n public var code: String {\n return rawValue\n }\n" content += "\n public var fontType: AwesomeFont {\n return \(name).Font.\(style)\n }\n" diff --git a/Generator/Sources/Generator/StringExtensions.swift b/Generator/Sources/Generator/StringExtensions.swift index 9a7f980..fca59bc 100644 --- a/Generator/Sources/Generator/StringExtensions.swift +++ b/Generator/Sources/Generator/StringExtensions.swift @@ -1,79 +1,78 @@ import Foundation extension Substring { - func firstUppercased() -> Substring { - return prefix(1).uppercased() + dropFirst() - } + func firstUppercased() -> Substring { + return prefix(1).uppercased() + dropFirst() + } } extension String { - - func firstUppercased() -> String { - return prefix(1).uppercased() + dropFirst() - } - - var isKeyword: Bool { - switch self { - case - "associativity", - "break", - "case", - "catch", - "class", - "continue", - "convenience", - "default", - "deinit", - "didSet", - "do", - "else", - "enum", - "extension", - "fallthrough", - "false", - "final", - "for", - "func", - "get", - "guard", - "if", - "in", - "infix", - "init", - "inout", - "internal", - "lazy", - "let", - "mutating", - "nil", - "operator", - "override", - "postfix", - "precedence", - "prefix", - "private", - "public", - "repeat", - "required", - "return", - "self", - "set", - "static", - "struct", - "subscript", - "super", - "switch", - "throws", - "true", - "try", - "var", - "weak", - "where", - "while", - "willSet": - return true - default: - return false - } - } + func firstUppercased() -> String { + return prefix(1).uppercased() + dropFirst() + } + + var isKeyword: Bool { + switch self { + case + "associativity", + "break", + "case", + "catch", + "class", + "continue", + "convenience", + "default", + "deinit", + "didSet", + "do", + "else", + "enum", + "extension", + "fallthrough", + "false", + "final", + "for", + "func", + "get", + "guard", + "if", + "in", + "infix", + "init", + "inout", + "internal", + "lazy", + "let", + "mutating", + "nil", + "operator", + "override", + "postfix", + "precedence", + "prefix", + "private", + "public", + "repeat", + "required", + "return", + "self", + "set", + "static", + "struct", + "subscript", + "super", + "switch", + "throws", + "true", + "try", + "var", + "weak", + "where", + "while", + "willSet": + return true + default: + return false + } + } } From 6d980207dac6eb9886e88b530dbeaa35b3b28df1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BChl?= Date: Wed, 25 Jul 2018 20:53:40 +0200 Subject: [PATCH 3/3] Set correct AppDelegate's application function signature --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8af665d..24e2aee 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ let attributedText = Awesome.regular.envelopeOpen.asAttributedText(fontSize: 17, The Font Awesome Free files are included and loaded for you out of the box. Font Awesome Pro licensing terms don't allow to publish the font files however, so we can't add those for you. As such you will need to manually add the fonts to your project and register them before using them: ```swift -// AppDelegate application(:didFinishLaunchingWithOptions:) +// AppDelegate application(_:didFinishLaunchingWithOptions:) // Load all fonts AwesomePro.loadFonts(from: Bundle.main)