summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-05-17 17:49:19 +0200
committerhut <hut@lavabit.com>2010-05-17 17:49:19 +0200
commit637fc4a1011b0f8b66ee213de1a1c3343d1bad0e (patch)
treeb516294110bea5833bd2a72b2365376728902b77
parent3ac9d6c841c47cebaab028557a217911d6cecd0e (diff)
downloadranger-637fc4a1011b0f8b66ee213de1a1c3343d1bad0e.tar.gz
utf: reordering
-rw-r--r--ranger/ext/utfwidth.py47
1 files changed, 23 insertions, 24 deletions
diff --git a/ranger/ext/utfwidth.py b/ranger/ext/utfwidth.py
index 31440ef0..a506c676 100644
--- a/ranger/ext/utfwidth.py
+++ b/ranger/ext/utfwidth.py
@@ -21,6 +21,28 @@
 NARROW = 1
 WIDE = 2
 
+def uwid(string):
+	"""Return the width of a string"""
+	end = len(string)
+	i = 0
+	width = 0
+	while i < end:
+		bytelen = utf_byte_length(string[i:])
+		width += utf_char_width(string[i:i+bytelen])
+		i += bytelen
+	return width
+
+def uchars(string):
+	"""Return a list with one string for each character"""
+	end = len(string)
+	i = 0
+	result = []
+	while i < end:
+		bytelen = utf_byte_length(string[i:])
+		result.append(string[i:i+bytelen])
+		i += bytelen
+	return result
+
 def utf_byte_length(string):
 	"""Return the byte length of one utf character"""
 	firstord = ord(string[0])
@@ -38,7 +60,6 @@ def utf_byte_length(string):
 
 def utf_char_width(string):
 	"""Return the width of a single character"""
-	# Inspired by cmus uchar.c
 	u = _utf_char_to_int(string)
 	if u < 0x1100:
 		return NARROW
@@ -78,7 +99,7 @@ def utf_char_width(string):
 	# ?
 	if u >= 0x30000 and u <= 0x3FFFD:
 		return WIDE
-	return NARROW  # invalid
+	return NARROW  # invalid (?)
 
 def _utf_char_to_int(string):
 	# Squash the last 6 bits of each byte together to an integer
@@ -86,25 +107,3 @@ def _utf_char_to_int(string):
 	for c in string:
 		u = (u << 6) | (ord(c) & 0b00111111)
 	return u
-
-def uwid(string):
-	"""Return the width of a string"""
-	end = len(string)
-	i = 0
-	width = 0
-	while i < end:
-		bytelen = utf_byte_length(string[i:])
-		width += utf_char_width(string[i:i+bytelen])
-		i += bytelen
-	return width
-
-def uchars(string):
-	"""Return a list with one string for each character"""
-	end = len(string)
-	i = 0
-	result = []
-	while i < end:
-		bytelen = utf_byte_length(string[i:])
-		result.append(string[i:i+bytelen])
-		i += bytelen
-	return result
84'>36e4e71e ^
78a7d762 ^
36e4e71e ^

78a7d762 ^
36e4e71e ^


4ea0f69a ^

36e4e71e ^
4ea0f69a ^
36e4e71e ^



f6ae504c ^
4ea0f69a ^














36e4e71e ^





4ea0f69a ^


36e4e71e ^




4ea0f69a ^

36e4e71e ^



f6ae504c ^
4ea0f69a ^
36e4e71e ^

4ea0f69a ^

36e4e71e ^






4ea0f69a ^

306c76d8 ^






b6aff4c3 ^

306c76d8 ^
4ea0f69a ^

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112