Наваял на даче со скуки питоновский модуль для преобразования "европейской" записи японского (слева направо, сверху вниз) в традиционную (сверху вниз, справа налево) и обратно.
Получилось простенько, но занятно, работает в консоли.
Спасибо юникоду за любезно предоставленные monospace-символы ;)
Получилось простенько, но занятно, работает в консоли.
Спасибо юникоду за любезно предоставленные monospace-символы ;)
no subject
Date: 2008-09-11 08:02 am (UTC)no subject
Date: 2008-09-13 09:24 am (UTC)no subject
Date: 2008-09-14 01:45 am (UTC)Нет, физический смысл данного явления я понимаю. А где это можно применить?
no subject
Date: 2008-09-14 08:53 am (UTC)Это же инструментальное средство. Для работы требует установки интерпретатора языка python.
Используя данную функцию можно, например, написать программу, которая на входе будет получать текстовый файл с горизонтальной записью, а на выходе - формировать файл с традиционной. Полученный файл можно втащить в любимый текстовый редактор (тот же MS Word или OpenOffice Writer) и уже в документе выровнять по правому краю.
no subject
Date: 2008-09-14 09:10 am (UTC)no subject
Date: 2008-09-14 10:12 am (UTC)no subject
Date: 2008-09-14 10:15 am (UTC)Дали ссылку на этот пост - вот и думала, может, как-то к себе приспособить? Что-нибудь куда-нибудь переформатировать... Но, видать, не судьба. :-)))
no subject
Date: 2008-09-14 12:19 pm (UTC)no subject
Date: 2008-09-15 08:02 am (UTC)no subject
Date: 2008-09-15 10:09 am (UTC)no subject
Date: 2008-09-15 10:10 am (UTC)no subject
Date: 2008-09-14 10:23 am (UTC)no subject
Date: 2008-09-14 10:26 am (UTC)no subject
Date: 2008-09-13 09:27 am (UTC)#!/usr/bin/python # -*- coding: utf-8 -*- # Sample for japanese printout in_lines=u"""ドミトリ ポバロ は プログラマ 2008年08月05日""" # Convert european order to traditional one # Todo: convert ASCII to unicode-monospace-ASCII (0x3000, 0xFF** etc) def e2jap_print(in_array): liness=in_array.split() t=[] jap=[] for i in liness: t.append(len(i)) xl=len(liness) yl=max(t) for i in range(yl): jap.append([]) for j in range(xl): jap[i].append([]) try: jap[i][j]=liness[xl-j-1][i] except Exception, message: jap[i][j]=u" " for i in range(len(jap)): jap[i]="".join(jap[i]) return jap import sys print in_lines print "-"*80 for i in e2jap_print(in_lines): print i sys.exit(0) # -[ The End ]-no subject
Date: 2008-09-13 09:42 am (UTC)Было:
ドミトリ
ポバロ
は
プログラマ
2008年08月05日
--------------------------------------------------------------------------------
Стало:
2プはポド
0ロ バミ
0グ ロト
8ラ リ
年マ
0
8
月
0
5
日