From 41bcdaec0978fe6a87e8fdfbcc4895dca6f45364 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 27 Jan 2022 13:57:39 -0800 Subject: [PATCH] flags: adding a unicode flags vocabulary --- extra/flags/authors.txt | 1 + extra/flags/flags-tests.factor | 3 +++ extra/flags/flags.factor | 35 ++++++++++++++++++++++++++++++++++ extra/flags/summary.txt | 1 + 4 files changed, 40 insertions(+) create mode 100644 extra/flags/authors.txt create mode 100644 extra/flags/flags-tests.factor create mode 100644 extra/flags/flags.factor create mode 100644 extra/flags/summary.txt diff --git a/extra/flags/authors.txt b/extra/flags/authors.txt new file mode 100644 index 0000000000..e091bb8164 --- /dev/null +++ b/extra/flags/authors.txt @@ -0,0 +1 @@ +John Benediktsson diff --git a/extra/flags/flags-tests.factor b/extra/flags/flags-tests.factor new file mode 100644 index 0000000000..cb545720ff --- /dev/null +++ b/extra/flags/flags-tests.factor @@ -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 index 0000000000..0c7a462889 --- /dev/null +++ b/extra/flags/flags.factor @@ -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 index 0000000000..c40abf8d1d --- /dev/null +++ b/extra/flags/summary.txt @@ -0,0 +1 @@ +Unicode country flags -- 2.34.1