Міжнародний кодекс алфавіту сигналів застосовується суднами для зв'язку, зокрема для статичних сигналів.
Ваше завдання полягає в тому, щоб написати програму або функцію, яка буде приймати рядок з STDIN або як аргумент, і відобразити відповідний текст в алфавіті прапора ICS. Якщо ваша мова не відображається на екрані, збереження у файлі є прийнятним.
Ваша програма чи функція повинні підтримувати літери AZ у верхньому та нижньому регістрі, а також пробіл та Newline . Поведінка з іншими персонажами не визначена.
Дисплей повинен бути досить великим для відображення, здатного відображати щонайменше 8 прапорів по горизонталі і по вертикалі 6 прапорів. Поведінка не визначена, якщо правий край досягається до отримання нового рядка або якщо повідомлення занадто довге, щоб вертикально розміститися на дисплеї.
Алфавіт прапора є таким, як показано нижче (римські літери є лише для довідки, вони не потрібні у висновку.)
Розміри
Не існує загальновизнаного стандарту щодо розмірів цих прапорів, тому для цілей цього виклику застосовується наступне:
Прапори мають бути розміром 60x60 пікселів з проміжком 30 пікселів між ними як по горизонталі, так і по вертикалі.
Розріз ластівки на А і В має бути глибиною 15 пікселів.
Усі інші лінії повинні бути горизонтальними, вертикальними або на 45 градусів.
Характеристики повинні розташовуватися шляхом поділу прапора на уявну сітку NxN бічних 3,4,5 або 6 квадратів. Зверніться до наведеного зображення, але для подальшого уточнення:
A, E, H, K, L і U базуються на сітці 2x2: ширина кожної кольорової зони повинна бути 30 пікселів. Також точки ромба в F повинні бути наполовину вздовж кожної сторони прапора.
J і T базуються на сітці 3x3: кожен діапазон повинен бути 20 пікселів.
P, N і S засновані на сітці 4x4. Також діагональні лінії Y повинні розділити краї прапора на 4.
C, D, R і X мають базуватися на сітці 5х5. Полоси та руки хрестів повинні бути шириною 12 пікселів.
G, W, M, V засновані на сітці 6x6. Діапазони G та межі W мають бути шириною 10 пікселів. Руки хрестів на M і V повинні охоплювати перші та останні 10 пікселів кожного краю прапора, залишаючи зони трикутника розміром 40 пікселів уздовж довгого краю.
Коло I має бути в центрі прапора і мати діаметр 30 пікселів.
Помилка +/- 1 пікселя з вищевказаного тексту дозволена. Якщо ваша мова підтримує лише масштабовану графіку, ви можете інтерпретувати "пікселі" як "одиниці".
Кольори
Кольори мають бути червоними, білими, синіми, жовтими та чорними, як визначено вашою мовою чи її документацією. Якщо ваша мова не визначає кольори, ви можете використовувати наступні: Червоний FF0000, Білий FFFFFF, Синій 0000FF, Жовтий FFFF00, Чорний 0000000.
Фон повинен бути сірим (рівність r, g та b, інтенсивність між 25% і 75%.)
Оцінка / Лазівки
Це кодегольф. Виграє найкоротший код у байтах.
Стандартні лазівки заборонені.
Ніякі вбудовані або бібліотечні функції для відображення прапорів не можна використовувати. Вихід повинен бути нетекстовим (і, зокрема, символи Unicode не повинні використовуватися для створення форми прапора.)
Приклад
JFK got
my VHS
PC
and XLR
web quiz
повинні створити наступне