[Moin-devel] CVS: MoinMoin wikimacro.py,1.43,1.44 wikiutil.py,1.102,1.103
J?rgen Hermann
jhermann at users.sourceforge.net
Sat Jun 8 15:42:33 EDT 2002
Update of /cvsroot/moin/MoinMoin
In directory usw-pr-cvs1:/tmp/cvs-serv24194/MoinMoin
Modified Files:
wikimacro.py wikiutil.py
Log Message:
[ 566094 ] TitleIndex for non-latin-alphabet languages (by perky)
Index: wikimacro.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikimacro.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -r1.43 -r1.44
*** wikimacro.py 16 May 2002 18:28:15 -0000 1.43
--- wikimacro.py 8 Jun 2002 08:08:45 -0000 1.44
***************
*** 166,170 ****
letter = name[0]
if wikiutil.isUnicodeName(name):
! letter = "~"
if letter not in index_letters:
index_letters.append(letter)
--- 166,175 ----
letter = name[0]
if wikiutil.isUnicodeName(name):
! try:
! letter = wikiutil.getUnicodeIndexGroup(unicode(name, config.charset))
! letter = letter.encode(config.charset)
! except UnicodeError:
! letter = None
! if not letter: letter = "~"
if letter not in index_letters:
index_letters.append(letter)
Index: wikiutil.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v
retrieving revision 1.102
retrieving revision 1.103
diff -C2 -r1.102 -r1.103
*** wikiutil.py 11 May 2002 19:51:23 -0000 1.102
--- wikiutil.py 8 Jun 2002 08:08:45 -0000 1.103
***************
*** 400,403 ****
--- 400,415 ----
+ def getUnicodeIndexGroup(name):
+ """ Return a group letter for `name`, which must be a unicode string.
+
+ Currently supported:
+ - Hangul Syllables (U+AC00 - U+D7AF)
+ """
+ if u'\uAC00' <= name[0] <= u'\uD7AF': # Hangul Syllables
+ return unichr(0xac00 + (int(ord(name[0]) - 0xac00) / 588) * 588)
+ else:
+ return None
+
+
def isUnicodeName(name):
"""Try to determine if the quoted wikiname is a special, pure unicode name"""
More information about the Moin-devel
mailing list