aboutsummaryrefslogtreecommitdiff
path: root/games/kvlt.sed
blob: 461fc04f1e2a227312cd744cdd39ec60c9f3b673 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Type like a young black metal enthusiast

# Pad the start and end of the line temporarily to work around GNU sed(1) not
# respecting POSIX word boundaries, leaving us with no compatible options
s/^/~/
s/$/~/

# Lowercase to capitals
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/

# All numbers become 666
s,[0-9][0-9]*,666,g

# Various words for KVLT
s,\([^A-Z]\)ASSOCIATION\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)BUSINESS\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)CHURCH\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)CLUB\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)COMPANY\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)FOUNDATION\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)GROUP\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)INSTITUTE\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)INSTITUTION\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)ORGANIZATION\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)PARTY\([^A-Z]\),\1KVLT\2,g
s,\([^A-Z]\)RELIGION\([^A-Z]\),\1KVLT\2,g

# Various words for TRUE
s,\([^A-Z]\)AWESOME\([^A-Z]\),\1TRUE\2,g
s,\([^A-Z]\)BEST\([^A-Z]\),\1TRUEST\2,g
s,\([^A-Z]\)EXCELLENT\([^A-Z]\),\1TRUE\2,g
s,\([^A-Z]\)GOOD\([^A-Z]\),\1TRUE\2,g
s,\([^A-Z]\)GREAT\([^A-Z]\),\1TRUE\2,g
s,\([^A-Z]\)NICE\([^A-Z]\),\1TRUE\2,g

# WAR/COOL -> KRIEG
s,\([^A-Z]\)WAR\([^A-Z]\),\1KRIEG\2,g
s,\([^A-Z]\)COOL\([^A-Z]\),\1KRIEG\2,g

# Double-letters are easy
s,CC,KK,g
s,SS,ZZ,g

# CHR -> KHR
s,CHR,KHR,g

# -C[EIY] -> -Z (naïve attempt at finding soft Cs)
s,C\([EIY]\),Z\1,g

# -C[^H] -> -K (so "change" doesn't become "KHANGE")
s,C\([^H]\),K\1,g

# -S[^H] -> Z (so "sharp" doesn't become "ZHARP")
s,S\([^H]\),Z\1,g

# consonant-I-consonant -> -Y-
s,\([B-DF-HJ-NP-TV-XZ]\)I\([B-DF-HJ-NP-TV-XZ]\),\1Y\2,g

# consonant-U-consonant -> -V-
s,\([B-DF-HJ-NP-TV-XZ]\)U\([B-DF-HJ-NP-TV-XZ]\),\1V\2,g

# THE -> DER
s,\([^A-Z]\)THE\([^A-Z]\),\1DER\2,g

# OF -> OV
s,\([^A-Z]\)OF\([^A-Z]\),\1OV\2,g

# AND -> VND
s,\([^A-Z]\)AND\([^A-Z]\),\1VND\2,g

# TRUE -> TRV
s,\([^A-Z]\)TRUE\([^A-Z]\),\1TRV\2,g

# O->0
y/O/0/

# Remove the padding established above
s/^~//
s/~$//