]> gitweb.factorcode.org Git - factor.git/commitdiff
flags: adding a unicode flags vocabulary
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 27 Jan 2022 21:57:39 +0000 (13:57 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 27 Jan 2022 21:57:39 +0000 (13:57 -0800)
extra/flags/authors.txt [new file with mode: 0644]
extra/flags/flags-tests.factor [new file with mode: 0644]
extra/flags/flags.factor [new file with mode: 0644]
extra/flags/summary.txt [new file with mode: 0644]

diff --git a/extra/flags/authors.txt b/extra/flags/authors.txt
new file mode 100644 (file)
index 0000000..e091bb8
--- /dev/null
@@ -0,0 +1 @@
+John Benediktsson
diff --git a/extra/flags/flags-tests.factor b/extra/flags/flags-tests.factor
new file mode 100644 (file)
index 0000000..cb54572
--- /dev/null
@@ -0,0 +1,3 @@
+USING: flags tools.test ;
+
+{ "🇺🇸" } [ "us" unicode-flag ] unit-test
diff --git a/extra/flags/flags.factor b/extra/flags/flags.factor
new file mode 100644 (file)
index 0000000..0c7a462
--- /dev/null
@@ -0,0 +1,35 @@
+USING: ascii assocs sequences ;
+
+IN: flags
+
+CONSTANT: flag-codes H{
+    { CHAR: A CHAR: ðŸ‡¦ }
+    { CHAR: B CHAR: ðŸ‡§ }
+    { CHAR: C CHAR: ðŸ‡¨ }
+    { CHAR: D CHAR: ðŸ‡© }
+    { CHAR: E CHAR: ðŸ‡ª }
+    { CHAR: F CHAR: ðŸ‡« }
+    { CHAR: G CHAR: ðŸ‡¬ }
+    { CHAR: H CHAR: ðŸ‡­ }
+    { CHAR: I CHAR: ðŸ‡® }
+    { CHAR: J CHAR: ðŸ‡¯ }
+    { CHAR: K CHAR: ðŸ‡° }
+    { CHAR: L CHAR: ðŸ‡± }
+    { CHAR: M CHAR: ðŸ‡² }
+    { CHAR: N CHAR: ðŸ‡³ }
+    { CHAR: O CHAR: ðŸ‡´ }
+    { CHAR: P CHAR: ðŸ‡µ }
+    { CHAR: Q CHAR: ðŸ‡¶ }
+    { CHAR: R CHAR: ðŸ‡· }
+    { CHAR: S CHAR: ðŸ‡¸ }
+    { CHAR: T CHAR: ðŸ‡¹ }
+    { CHAR: U CHAR: ðŸ‡º }
+    { CHAR: V CHAR: ðŸ‡» }
+    { CHAR: W CHAR: ðŸ‡¼ }
+    { CHAR: X CHAR: ðŸ‡½ }
+    { CHAR: Y CHAR: ðŸ‡¾ }
+    { CHAR: Z CHAR: ðŸ‡¿ }
+}
+
+: unicode-flag ( country-code -- flag )
+    >upper [ flag-codes at ] map ;
diff --git a/extra/flags/summary.txt b/extra/flags/summary.txt
new file mode 100644 (file)
index 0000000..c40abf8
--- /dev/null
@@ -0,0 +1 @@
+Unicode country flags