정렬/순서

 


1. 개요
2. 정렬 관련 용어
3. 한글
4. 라틴 문자
9.1. 독음 순 정렬
9.2. 부수-나머지 획수 순 정렬
12. 단순 유니코드 순 정렬


1. 개요


이 문서에서는 문자·언어별 정렬 순서를 다룬다. 사전을 찾아볼 때나 정렬에 관련된 프로그래밍을 할 때 유용할 것이다.
여러 언어가 같은 문자 체계를 공유하는 경우도 있으므로 문자별로 단락을 만들어서 정리하도록 하고, 같은 문자에 다른 정렬 순서가 적용되는 경우 하위 단락으로 만들 것.

2. 정렬 관련 용어


정렬에도 여러 가지 단계가 있다.
단계는 보통 primary difference, secondary difference, tertiary difference, quaternary difference 네 단계로 나눠지며, 라틴 문자와 가나의 경우 이 네 단계는 다음과 같이 분류된다.
  1. primary difference: 글자 자체가 다른 경우 (ab < ac < ad, はい < はう < はえ)
  2. secondary difference: 주로 diacritic 차이 (ab < áb < ac, はい < ばい < はう)
diacritic이 없는 것이 있는 것보다 앞에 온다.
  1. tertiary difference: 대소문자 차이 (ab < Ab < áb, しゃ < しや < じゃ)
보통 소문자가 대문자보다 앞에 온다.
  1. quaternary difference: 문장 부호 차이 (ab < a c < a-c < ac < ad)
위 예에서 ab와 ac, はい와 はう 사이에는 primary difference가 있고, ab와 áb, はい와 ばい 사이에는 secondary difference가 있으며, ab와 Ab, しゃ와 しや 사이에는 tertiary difference가 있으며, a c와 a-c, ac 사이에는 quaternary difference가 있다.
정렬 시에는 언제나 상위 단계가 우선적으로 적용된다. 즉 primary difference가 있을 경우 secondary difference 이하는 무시되며, primary difference가 없고 secondary difference가 있을 경우 tertiary difference 이하는 무시된다.
다만 secondary difference의 경우, '주로' diacritic 차이인 것을 염두에 두어야 한다. 만약 어떤 언어에서 á를 a와는 아예 다른 별개의 문자로 볼 경우, a와 á 사이에는 secondary difference가 아니라 primary difference가 있는 것이 되며, 이 경우 ab < ac < áb 순으로 정렬된다. diacritic이 붙은 문자와 붙지 않은 문자를 별개의 문자로 볼지(primary difference), 아니면 일단은 똑같은 문자로 볼지(secondary difference)는 언어에 따라 다르기 때문에 주의가 필요하다. 아래 '스페인어' 섹션을 보면 알겠지만 스페인어의 경우 a와 á 사이에는 secondary difference가 있지만 n과 ñ 사이에는 primary difference가 있다.
이 문서에서는 primary difference와 secondary difference만을 주로 다룬다.

3. 한글


모든 낱자 사이에는 primary difference가 존재하며, 초성이 같을 경우 중성 순으로, 초성과 중성이 모두 같을 경우 종성 순으로 정렬된다.

3.1. 대한민국 표준어


대한민국 표준어에서 사용되는 정렬 순서는 다음과 같다. 대개 가나다순이라고 한다.[1]
  • 초성: ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ
  • 중성: ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ
  • 종성: (없음) ㄱ ㄲ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅆ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ
ㅐ는 ㅏ와 ㅣ의 합자로 보기 때문에 ㅏ와 ㅑ 사이에 온다. ㅒ, ㅔ, ㅖ 등도 마찬가지.
쌍자음의 경우 1989년의 현행 맞춤법 제정 전에는 명확한 규정이 없었다. ㄱ과 ㄲ을 예로 들자면, ㄲ을 ㄱ에 diacritic(?)이 붙은 것으로 취급하여 ㄱ과 ㄲ 사이에 secondary difference가 있는 것으로 처리한 사전도 있었고(가, 까, 각, 깍, … 순. 예: 가오리 < 까마귀 < 각다귀), ㄱ과 ㄲ 사이에 primary difference가 있는 것으로 보고 ㄱ과 ㄲ을 완전히 따로 분리해서 배열한 사전도 있었다(가, 각, …, 깋, 까, 깍, … 순. 예: 가오리 < 각다귀 < 까마귀). 1989년 현행 맞춤법이 시행되면서 후자로 명확히 규정하였다.
유니코드의 한글 자모 순서는 대한민국 표준어 순서를 따르고 있다.

3.1.1. 옛한글


표준어의 어문 규정에는 옛한글에 대한 정렬 순서는 없으나, 대한민국의 KS X 1026-1 규격(정보교환용 한글 처리지침)에 따르면 옛한글은 다음과 같이 정렬한다. 표준어의 정렬 순서를 확장한 것으로 볼 수 있다.
  • ㅿ은 ㅅ의 뒤에, ㆁ은 ㅇ의 뒤에, ㆆ은 ㅎ의 뒤에 따로 정렬하고, ㆍ(아래아)는 ㅣ의 뒤에 따로 정렬한다.
  • ㅲ, ㅼ, ㅵ과 같이 두세 낱자로 이루어진 병서는 A+B(+C)와 같이 보고 정렬한다. 예를 들어 ㅲ, ㅳ 등은 각각 ㅂ+ㄱ, ㅂ+ㄷ 등으로 보고 ㅂ과 ㅃ(= ㅂ+ㅂ) 사이에 정렬하고, ㅴ, ㅵ, ᄤ 등은 ㅄ과 ㅶ 사이에 정렬하고, ㅺ, ㅻ, ㅼ, ㅽ 등은 ㅅ과 ㅆ(= ㅅ+ㅅ) 사이에 정렬한다. 모음도 마찬가지로, ᅺ(= ㅓ+ㅗ), ᅻ(= ㅓ+ㅜ), ᅼ(= ㅓ+ㅡ) 등은 ㅓ와 ㅔ(= ㅓ+ㅣ) 사이에 정렬한다.
  • 연서(ᄛ, ㅱ, ㅸ, ㅹ, ㆄ)는 병서의 뒤에 따로 정렬한다. ㅷ ᄪ ꥴ ㅸ ㅹ ㅅ 순서이다.
  • 치두음(왼쪽으로 늘어진 낱자)과 정치음(오른쪽으로 늘어진 낱자)은 원 낱자(ㅅ, ㅈ, ㅊ)들의 뒤에 따로 정렬한다. 동일한 원 낱자 범위 안에서 치두음은 정치음보다 무조건 앞으로 정렬된다. 즉, 치두음쌍시옷(ᄽ)이 정치음시옷(ᄾ)보다 앞이다. ᄺ ᄻ ᄼ ᄽ ᄾ ᄿ ㅿ 순서이다.
  • 초성 채움 문자(U+115F)는 초성의 맨 뒤에 정렬되고, 중성 채움 문자(U+1160)는 중성의 맨 앞에 정렬된다. 초성과 중성은 모두 똑같고 종성의 유무만 다른 경우, 종성이 없는 글자는 종성이 있는 글자보다 앞에 온다.
구체적으로는 다음과 같이 정렬한다. 아래 이미지는 유니코드에 있는 모든 한글 낱자를 순서대로 정렬한 것이다. 자음의 경우 위의 것이 초성, 아래의 것이 종성이다.
[image]
아래 표는 실제로 옛한글 정렬을 구현할 때 유용하게 쓰일 수 있을 것이다.
번호
초성
중성
종성
1

1100

1160
(없음)
2

1101

1161

11A8
3

115A

1176

11A9
4

1102

1177

11FA
5

1113

11A3

11C3
6

1114

1162

11FB
7

1115

1163

11AA
8

1116

1178

11C4
9

115B

1179

11FC
10

115C

11A4

11FD
11

115D

1164

11FE
12

1103

1165

11AB
13

1117

117A

11C5
14

1104

117B

11FF
15

115E

117C

11C6
16

A960

1166

D7CB
17

A961

1167

11C7
18

A962

11A5

11C8
19

A963

117D

11AC
20

1105

117E

D7CC
21

A964

1168

11C9
22

A965

1169

11AD
23

1118

116A

11AE
24

A966

116B

11CA
25

A967

11A6

D7CD
26

1119

11A7

D7CE
27

A968

117F

11CB
28

A969

1180

D7CF
29

A96A

D7B0

D7D0
30

A96B

1181

D7D1
31

A96C

1182

D7D2
32

A96D

D7B1

D7D3
33

A96E

1183

D7D4
34

111A

116C

11AF
35

111B

116D

11B0
36

1106

D7B2

D7D5
37

A96F

D7B3

11CC
38

A970

1184

D7D6
39

111C

1185

11CD
40

A971

D7B4

11CE
41

111D

1186

11CF
42

1107

1187

11D0
43

111E

1188

D7D7
44

111F

116E

11B1
45

1120

1189

11D1
46

1108

118A

11D2
47

1121

116F

D7D8
48

1122

118B

11B2
49

1123

1170

D7D9
50

1124

D7B5

11D3
51

1125

118C

D7DA
52

1126

118D

11D4
53

A972

1171

11D5
54

1127

D7B6

11B3
55

1128

1172

11D6
56

A973

118E

11D7
57

1129

D7B7

D7DB
58

112A

118F

11D8
59

A974

1190

11B4
60

112B

1191

11B5
61

112C

1192

11B6
62

1109

D7B8

11D9
63

112D

1193

D7DC
64

112E

1194

D7DD
65

112F

1173

11B7
66

1130

D7B9

11DA
67

1131

D7BA

D7DE
68

1132

D7BB

D7DF
69

1133

D7BC

11DB
70

110A

1195

D7E0
71

A975

1196

11DC
72

1134

1174

D7E1
73

1135

1197

11DD
74

1136

1175

11DE
75

1137

1198

11DF
76

1138

1199

D7E2
77

1139

D7BD

11E0
78

113A

D7BE

11E1
79

113B

D7BF

11E2
80

113C

D7C0

11B8
81

113D

119A

D7E3
82

113E

D7C1

11E3
83

113F

D7C2

D7E4
84

1140

119B

D7E5
85

110B

D7C3

D7E6
86

1141

119C

11B9
87

1142

D7C4

D7E7
88

A976

119D

D7E8
89

1143

119E

D7E9
90

1144

D7C5

11E4
91

1145

119F

11E5
92

1146

D7C6

11E6
93

1147

11A0

11BA
94

1148

11A1

11E7
95

1149

11A2

11E8
96

114A


11E9
97

114B


D7EA
98

A977


11EA
99

114C


D7EB
100

110C


11BB
101

114D


D7EC
102

110D


D7ED
103

A978


D7EE
104

114E


D7EF
105

114F


D7F0
106

1150


D7F1
107

1151


D7F2
108

110E


11EB
109

1152


D7F3
110

1153


D7F4
111

1154


11BC
112

1155


11F0
113

110F


11EC
114

1110


11ED
115

A979


D7F5
116

1111


11F1
117

1156


11F2
118

A97A


11EE
119

1157


11EF
120

1112


D7F6
121

A97B


11BD
122

1158


D7F7
123

1159


D7F8
124

A97C


D7F9
125

115F


11BE
126



11BF
127



11C0
128



11C1
129



11F3
130



D7FA
131



D7FB
132



11F4
133



11C2
134



11F5
135



11F6
136



11F7
137



11F8
138



11F9

3.2. 북한 문화어


북한 문화어에서 사용되는 정렬 순서는 다음과 같다.
  • 초성: ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㄸ ㅃ ㅆ ㅉ ㅇ
  • 중성: ㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣ ㅐ ㅒ ㅔ ㅖ ㅚ ㅟ ㅢ ㅘ ㅝ ㅙ ㅞ
  • 종성: (없음) ㄱ ㄳ ㄴ ㄵ ㄶ ㄷ ㄹ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅁ ㅂ ㅄ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㅆ
자음의 경우 쌍자음을 뒤에 배당하며, 모음의 경우 합성 자모를 뒤에 배당한다. 초성 ㅇ은 음가가 없기 때문에, 초성 ㅇ으로 시작하는 경우는 모음으로 시작한다고 보고 맨 뒤에 배당한다.
예를 들어, {개, 토끼, 하마, 오리, 기러기, 까마귀, 가오리}로 이루어진 단어 집합의 원소들을 남한식과 북한식으로 정렬하면 이렇게 된다.
  • 남: 가오리 < 개 < 기러기 < 까마귀 < 오리 < 토끼 < 하마
  • 북: 가오리 < 기러기 < 개 < 토끼 < 하마 < 까마귀 < 오리
이 순서는 다음과 같이 여러 그룹으로 나누면 쉽게 기억할 수 있다.
  • 초성: ㅇ을 제외한 홑자음(ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ), 쌍자음(ㄲ ㄸ ㅃ ㅆ ㅉ), ㅇ
  • 중성: 기본 모음(ㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣ), ㅣ로 끝나는 digraph(ㅐ ㅒ ㅔ ㅖ ㅚ ㅟ ㅢ), 나머지 digraph(ㅘ ㅝ), trigraph(ㅙ ㅞ)
  • 종성: 쌍자음 둘(ㄲ ㅆ)만 맨 뒤로 뺌
참고로 유니코드에서는 북한식 정렬은 철저하게 외면당하고, 오로지 남한식 정렬만 채택되었다. 그래서 북한식 정렬을 컴퓨터에서 구현하려면 남한식 정렬을 구현할 때보다 추가적인 삽질이 필요하다. 남북한 한글 코드의 충돌 문제 문서도 참고할 것.
표준어식 정렬은 확장이 용이하기 때문에 옛한글도 쉽게 수용할 수 있지만, 문화어식 정렬은 확장이 까다로워서 옛한글을 수용하기 어렵다. 옛한글은 그 정확한 발음을 아무도 모르기 때문에 음가 기준이 아니라 표준어식 정렬 순서와 같이 자형 기준으로 하는 것이 바람직하다.

3.3. 겨레말큰사전


남한과 북한이 공동으로 제작하는 한국어 사전 겨레말큰사전에서는 남한 표준어와 북한 문화어의 자모 순서를 절충해 다음과 같은 정렬 순서를 채택했다. 출처는 이 문서의 14쪽이다.
  • 초성: ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㄸ ㅃ ㅆ ㅉ
  • 중성: ㅏ ㅑ ㅓ ㅕ ㅗ ㅛ ㅜ ㅠ ㅡ ㅣ ㅐ ㅒ ㅔ ㅖ ㅘ ㅚ ㅙ ㅝ ㅟ ㅞ ㅢ
  • 종성: (없음) ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ ㄲ ㄳ ㄵ ㄶ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅄ ㅆ
정리하자면 기본 자모들은 앞쪽에 따로 모으고 겹자모들은 뒤쪽에 따로 모은 것이다. ㅘ < ㅙ < ㅚ 순서가 아니라 ㅘ < ㅚ < ㅙ 순서가 된 것은 앞쪽의 ㅏ < ㅣ < ㅐ와 맞추기 위해서인 것으로 보인다. ㅝ < ㅟ < ㅞ도 마찬가지이다.

4. 라틴 문자


기본적으로는 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 순을 따르고 모든 글자 사이에 primary difference가 있으나, 언어에 따라서 조금씩 차이가 있다. 아래에서 별도의 언급이 없는 한 기본적으로 이 정렬 순서를 따른다.
또한 같은 글자라도 언어에 따라 순서가 다를 수 있다. 예를 들어 독일어에서는 Ö < Z이지만 스웨덴어에서는 Z < Ö이고, 프랑스어에서는 É < È이지만 베트남어에서는 È < É이다.
언어별 확장 라틴 문자 목록 문서도 참고할 것.

4.1. 영어 (en)


영어도 일부 어휘에 diacritics가 쓰이는 경우가 있는데,[2] diacritic이 붙은 문자와 diacritic이 붙지 않은 문자 사이에는 secondary difference가 있다.
  • 예: echo < éclair < eclipse, resume < résumé

4.2. 독일어 (de)


두 가지 정렬 순서가 존재한다. 이 두 가지 정렬 순서는 움라우트가 붙은 글자(Ä, Ö, Ü)를 처리하는 방법이 다르다. ß는 두 가지 순서에서 모두 SS와 동일하게 취급한다.
  • 사전 순서
Ä, Ö, Ü와 A, O, U 사이에는 secondary difference가 있다.
  • 예: Arg < Ärgerlich < Arm < Assistent < Aßlar < Assoziation
  • 전화번호부 순서
Ä, Ö, Ü를 각각 AE, OE, UE와 동일하게 취급한다.
  • 예: Udet < Übelacker < Uell < Ülle < Ueve < Üxküll < Uffenbach
그래서 독일어 사전에서는 of < öf이지만, 전화번호부에서는 öf < of이다.
두 가지 정렬 순서가 있는 이유는 다음과 같다.
  • 사전 순서: 단어의 파생형을 비슷한 위치에 놓기 위해서이다. 예를 들어 Fuß의 복수형은 Füße인데, ü를 일단 u와 동일하게 보면 Fuß와 Füße가 가까운 위치에 놓이게 되므로 편리하다.
  • 전화번호부 순서: 인명에서는 ä, ö, ü가 쓰이는 경우도 있고 ae, oe, ue가 쓰이는 경우도 있다. 예를 들어 독일어권에는 Müller 씨도 Mueller 씨도 모두 존재하는데, ü를 일단 ue와 동일하게 보면 Müller와 Mueller가 기본적으로 같은 위치에 놓이게 되므로 편리하다.

4.3. 에스페란토 (eo)


Ĉ, Ĝ, Ĥ, Ĵ, Ŝ, Ŭ와 C, G, H, J, S, U 사이에는 primary difference가 있다(…, C, Ĉ, D, E, F, G, Ĝ, H, Ĥ, I, J, Ĵ, …, S, Ŝ, T, U, Ŭ, V, Z).

4.4. 스페인어 (es)


Á, É, Í, Ó, Ú, Ü와 A, E, I, O, U 사이에는 secondary difference가 있다.
  • 예: facial < fácil < facilidad, como < cómo
다만 Ñ와 N 사이에는 primary difference가 있다(따라서 N 뒤에 Ñ를 따로 정렬한다).
  • 예: anticipar < año < aorta
1997년까지는 CH와 LL을 별도의 문자로 보고 각각 C와 L 뒤에 따로 배열했지만, 현재는 별도의 문자로 보지 않고 각각 C + H, L + L로 본다.
  • 과거: centro < cielo < champú, limpiar < locación < llamar
  • 현재: centro < champú < cielo, limpiar < llamar < locación

4.5. 프랑스어 (fr)


diacritic이 붙은 문자와 diacritic이 붙지 않은 문자 사이에는 secondary difference가 있다. A, E, I, U와 같이 글자 위에 붙을 수 있는 diacritic의 종류가 둘 이상인 경우, acute (´) < grave (`) < circumflex (ˆ) < diaeresis (¨) 순으로 정렬된다. 정리하자면 다음과 같다(대괄호로 묶인 글자들은 secondary difference 관계임).
  • [A À Â] B [C Ç] D [E É È Ê Ë] F G H [I Î Ï] J K L M N [O Ô] P Q R S T [U Ù Û Ü] V W X [Y Ÿ] Z
Æ, Œ는 각각 AE, OE와 동일하게 취급한다.
primary difference가 없고 secondary difference만 있다면(= diacritic을 제거했을 때 똑같아진다면), '''마지막''' diacritic에 따라 정렬된다.
  • 예: cote < côte < coté < côté

4.6. 포르투갈어 (pt)


영어와 동일하다. diacritic이 쓰이는 경우가 있는데, diacritic이 붙은 문자와 diacritic이 붙지 않은 문자 사이에는 secondary difference가 있다.

4.7. 스웨덴어 (sv)


Å, Ä, Ö는 Z 뒤에 별도의 문자로 정렬된다(…, X, Y, Z, Å, Ä, Ö).

4.8. 터키어 (tr)


Ç, Ğ, İ(i), Ö, Ş, Ü와 C, G, I(ı), O, S, U 사이에는 primary difference가 있다. I(ı)와 İ(i)의 경우, I(ı) < İ(i)와 같이 점이 없는 것이 앞으로, 있는 것이 뒤로 간다.

4.9. 베트남어 (vi)


Ă, Â, Đ, Ê, Ô, Ơ, Ư와 A, D, E, O, U 사이에는 primary difference가 있다(A, Ă, Â, B, C, D, Đ, E, Ê, G, …, N, O, Ô, Ơ, P, …, T, U, Ư, V, X, Y).
성조 부호가 없는 문자와 성조 부호가 붙은 문자 사이에는 secondary difference가 있다. 성조 부호는 부호 없음 (a) < grave (à) < hook above (ả) < tilde (ã) < acute (á) < dot below (ạ) 순으로 정렬된다.

4.10. 한어병음


보통 다음 두 가지 방식[3]으로 정렬된다. 代表(dàibiǎo), 单位(dānwèi), 单纯(dānchún), 大众(dàzhòng), 大家(dàjiā), 当时(dāngshí)라는 단어들을 예로 든다.
  • 첫 한자의 병음 표기 → 첫 한자 → 그 한자 안에서 두 번째 한자의 병음 표기 → 두 번째 한자 (세 글자 이상의 한자로 이루어진 단어라면 글자마다 같은 과정 반복)
    • da 大
      • …jia …家 → 大家
      • …zhong …众 → 大众
    • dai 代
      • …biao …表 → 代表
    • dan 单
      • …chun …纯 → 单纯
      • …wei …位 → 单位
    • dang 当
      • …shi …时 → 当时
  • 한자와 상관없이 모든 단어들을 병음 순서대로 나열함[4]
    • d → +a → +i → +b → +i → +a → +o → 代表
    • d → +a → +j → +i → +a → 大家
    • d → +a → +n → +c → +h → +u → +n → 单纯
    • d → +a → +n → +g → +s → +h → +i → 当时
    • d → +a → +n → +w → +e → +i → 单位
    • d → +a → +z → +h → +o → +n → +g → 大众
그래서 첫 번째 방식에서는 大家 < 大众 < 代表 < 单纯 < 单位 < 当时이고, 두 번째 방식에서는 代表 < 大家 < 单纯 < 当时 < 单位 < 大众이다. 쉽게 말해서 첫 번째 방식은 기본적으로 한자를 기준으로 하되 한자의 배열 순서가 병음 ABC순인 것이고, 두 번째 방식은 철저히 ABC가 기준이다.
첫 번째 방식은 특정 한자로 시작되는 단어들을 찾고자 할 때 편리하고(예를 들어 意를 보면 意로 시작하는 단어들이 그곳에 몰려 있으므로), 두 번째 방식은 발음은 알고 있으나 어떤 한자로 쓰는지 모르는 단어를 찾고자 할 때 아주 편리하다(예를 들어 yìshí(意识)라는 단어를 찾고자 할 때 단순히 y → +i → +s → +h → +i 식으로 찾아 나가면 되므로. 첫 번째 방식대로라면 yì에 해당되는 글자(꽤 많다)가 뭔지부터 궁리해야 한다).
성조 부호가 없는 문자와 성조 부호가 붙은 문자 사이에는 secondary difference가 있다. 성조 부호는 첫 번째 방식에서는 < macron (ā) < acute (á) < caron (ǎ) < grave (à) < 부호 없음 (a) 순으로, 두 번째 방식에서는 부호 없음 (a) < macron (ā) < acute (á) < caron (ǎ) < grave (à) 순으로 정렬된다.

5. 가나


기본적으로 오십음도를 따라 あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ ゐ ゑ を ん 순으로 정렬되며, 각 문자 사이에는 primary difference가 존재한다. 히라가나만을 예로 드나, 가타카나에도 똑같이 적용된다.
  • 탁점(゛)과 반탁점(゜)이 붙은 가나와 붙지 않은 가나 사이에는 secondary difference가 있다. primary difference가 없을 경우, 없음 < 탁점 < 반탁점 순서로 정렬한다.
  • 작은 가나와 보통 크기의 가나 사이에는 tertiary difference가 있다. primary difference와 secondary difference가 없을 경우, 작은 가나 < 보통 크기의 가나 순서로 정렬한다.
  • 장음 부호(ー)는 앞 글자가 あ단일 경우 あ로, い단일 경우 い로, う단일 경우 う로, え단일 경우 え로, お단일 경우 お로, ん일 경우 ん으로 바꿔 처리한다.
  • ゝ, 々는 바로 앞 글자로 바꿔 처리한다. 앞 글자도 ゝ나 々일 경우는 그 앞 글자로 바꿔 처리한다.
  • 한자의 경우 해당 한자의 일본어 독음을 따른다.
이와는 별개로, 일본어의 50음도를 사용해 만든 이로하 노래의 순서에 따라 배열하기도 한다. 이를 이로하 순서(いろは順)라고 하며, 실생활에서 오십음순 못지않게 많이 사용한다. 대표적으로 일본 법률의 조문의 이나 음 이름[5]이 있으며, 일본 해군과 해상자위대에서도 사용하였다. 사실 근대 이전까지만 해도 이로하 순서가 오십음순보다 훨씬 많이 쓰였다.

6. 키릴 문자


기본적으로 А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я 순으로 정렬된다. 각 글자 사이에 primary difference가 있으나, 언어에 따라서 조금씩 차이가 있다. diacritic이 붙은 문자와 diacritic이 붙지 않은 문자 사이에는 secondary difference가 있다.

7. 그리스 문자


기본적으로 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω 순으로 정렬된다. 각 글자 사이에 primary difference가 있으며, diacritic이 붙은 문자와 diacritic이 붙지 않은 문자 사이에는 secondary difference가 있다.

8. 주음부호


ㄅ ㄆ ㄇ ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄧ ㄨ ㄩ ㄚ ㄛ ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ 순으로 정렬된다. 각 문자 사이에는 primary difference가 존재한다.

9. 한자



9.1. 독음 순 정렬


한국어, 일본어, 중국어, 베트남어 등은 자신만의 한자 독음을 가지고 있으며, 이러한 언어들은 그 독음에 따라 한자를 정렬하는 경우가 많다.

9.2. 부수-나머지 획수 순 정렬


한자를 1차적으로 부수에 따라 정렬하며, 부수가 같은 한자는 부수를 제외한 나머지 부분의 획수 순으로 정렬한다. 부수강희자전의 214부수 체계를 따르는 것이 일반적이다. 각 부수 사이에는 primary difference가 존재한다.
이 정렬 방식은 한자의 독음을 알 수 없을 때(또는 한 한자에 여러 독음이 존재할 때) 유용하게 쓰일 수 있으며, 특정 언어의 독음에 의존하지 않아도 되기 때문에 중립적이기도 하다. 다만 부수와 획수가 같은 한자의 순서는 정해지지 않았다.
유니코드에서는 한자 블록을 제정할 때 한자들을 부수-나머지 획수 순으로 배당한다(一, 丁, 丂, …, 龣, 龤, 龥). 유니코드가 이 배열 순서를 채택한 것은 바람직하다고 할 수 있다. 왜냐하면 유니코드는 특정 언어만을 위한 문자 집합이 아니라 모든 언어를 위한 문자 집합이고, 옛 문헌에 나오는 독음을 알 수 없는 한자들도 비교적 쉽게 배열해 추가할 수 있다는 장점이 있기 때문이다.

10. 아랍 문자


ا ﺏ ﺕ ﺙ ﺝ ح خ د ذ ر ز ﺱ ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي ڭ گ ﭪ ژ ﭺ پ 순으로 정렬된다. 각 문자 사이에는 primary difference가 존재한다.
단, 기본적으로 좌서 문자이기 때문에 맨 오른쪽의 글자를 기준으로 정렬된다.

11. 히브리 문자


א בּ ב ג ד ה ו ז ח ט י כּ כ ך ל מ ם נ ן ס ע פּ פ ף צ ץ ק ר ש תּ ת 순으로 정렬된다. 각 문자 사이에는 primary difference가 존재한다.
단, 기본적으로 좌서 문자이기 때문에 맨 오른쪽의 글자를 기준으로 정렬된다.

12. 단순 유니코드 순 정렬


단순히 유니코드 코드 값 순으로 정렬하는 것은 그 어떤 언어에도 적합하다고 할 수 없다.
라틴 문자의 경우 소문자 a(U+0061)가 대문자 Z(U+005A)보다 뒤에 오게 되며, Ñ(U+00D1)는 소문자 z(U+007A)보다도 뒤에 오게 된다.
한글의 경우 (U+3134) 같은 낱자나 'ᄒᆞᆫ'(U+1112 U+119E U+11AB)과 같이 조합형 낱자로 이루어진 옛한글이 언제나 완성형 한글 글자 마디 '가'(U+AC00)보다 앞에 오게 된다.
한자의 경우, 위에서도 언급했듯 유니코드에는 강희자전 부수 순으로 정렬되어 있으며, 특정 언어의 독음 순으로 배당돼 있지 않다. 일본어에서 주로 쓰이는 々, ゝ, 장음 부호(ー) 등은 여러 영역에 흩어져 있다.
그래서 일본어 정렬 시 별도의 처리를 하지 않고 단순 유니코드 순으로 정렬하면 々 < 히라가나 < ゝ < 가타카나 < 장음 부호(ー) < 한자(강희자전 순)와 같은 순서로 정렬된다. 회원 가입 시 히라가나를 따로 받는 것도 이것 때문이며, 이런 꼼수를 쓰지 않는 경우 인명 정렬 시 あ가 아닌 (한 일)로 시작하는 이름이 맨 앞에 온다. 즉 가나 순으로는 비교적 뒷자리인 히토츠이 하지메(一一 一)가 강희자전 순으로 가장 앞에 온다는 말(…).
즉 어떤 언어든 올바른 정렬을 위해서는 별도의 처리가 필요하며, 코드 값에만 의존해서는 올바른 정렬이 불가능하다.

[1] 굳이 한글에 한정시키지 않는다면 일단 한국에서는 숫자->특수문자->한글->영어 순으로 정렬하는 게 기본이다.[2] 주로 근래에 들어온 프랑스어독일어 등의 외래어에 쓰는 경우가 많다. 그렇지만 영어 고유어나 오래 전에 유입돼 영어로 완전히 흡수된 외래어 중에서도 diacritics를 덧붙이는 경우가 드물긴 해도 없지는 않다. 예를 들면 음절의 명확한 구분을 위해 ¨를 덧붙이는 경우가 간혹 있다. cooperation을 coöperation으로 쓰는 경우가 한 예인데, 이건 이 단어의 oo 부분이 하나의 모음을 나타내는 게 아니라 co-operation 식으로 나뉜다는 것을 강조하기 위해 o 위에 ¨를 덧붙인 것이다(참고로 이와 유사한 용법이 스페인어 등에서 쓰이고 있다). 또 다른 예로는 시어(詩語) 등에서 -ed를 -èd로 쓰는 경우가 있다. loved를 lovèd로 쓴다든가 blessed('블레스트'가 아니라 '블레시드'로 읽을 때로 한정)를 blessèd로 쓴다든가 등등. 물론 이런 용법은 근래에 거의 안 쓰는 추세이다.[3] 당연하겠지만 이 방식은 주음부호에서도 적용할 수 있다.[4] 이 방식은 미국의 중국학자 Victor H. Mair가 1986년에 제안한 방식이며, 이 방식을 채택한 사전 ABC Chinese–English Dictionary는 또 다른 미국의 중국학자 John DeFrancis의 주도로 1996년에 처음 나왔다. Mair도 DeFrancis도 현대 중국어가 다음절 언어라는 점을 강조한 바 있으며, 그에 따라 한자와 상관없이 모든 단어들이 병음 순서대로 나열된 사전이 필요하다고 보았다.[5] 다장조는 하장조(ハ長調), 라단조는 니단조(ニ短調)가 된다. 즉 도레미파솔라시도=다라마바사가나다=하니호헤토이로하.