blog正式转移到了这里:

http://blog.phoeagon.cz.cc



I know

phoeagon啲01世界

2009 年 1 月 1 日  星期四   晴天


在纯文本中將文字豎排 分類: 滑鼠人生

在純文本中將文字豎排

是的,你沒看錯~就是要在notepad的text文件中把文字豎排~

//本文技術:Phoeagon。

成品見sourceforge上的chineseportrait(shupai)項目

我們看看近來網上已經有不少在線的converter,很簡單的排字原理,就是開個矩陣的二維數組去模擬~然後一個一個字符填裝。注意根據中國的新國標GB18030中有4字節的漢字。可以這么處理:

function typ(a:string[4]):integer; //GB 18030 Edition
{GB18030 四字节支持结构
字节结构
    * 单字节,其值从0到0x7F。
    * 双字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x40到0xFE(不包括0x7F)。
    * 四字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x30到0x39,第三个字节从0x81到0xFE,第四个字节从0x30到0x39。
}
    begin     if Length(a)=0 then Exit(0);
        if (Ord(a[1])<=$7F)and(Ord(a[1])>=$0)then Exit(1)
        else if (ord(a[1])>=$81)and(Ord(a[1])<=$FE)and(Ord(a[2])>=$40)
        and(ord(a[2])<=$FE)then
          exit(2)
          else if (Ord(a[1])>=$81)and(Ord(a[1])<=$FE)
          and(Ord(a[2])>=$30)and(Ord(a[2])<=$39)
          and(Ord(a[3])>=$81)and(Ord(a[3])<=$FE)
          and(ord(a[4])>=$30)and(Ord(a[4])<=$39)then
            Exit(4);             Exit(1);
    end;
這個函數返回輸入的四字節字串從第一個開始第一個GB字符的位數。

還有個半角轉化的問題:

Function conv(k:string[4]):  string[4]; //GB 18030
var a:longint;
Begin
   If enc=0 Then exit(k);
   if length(k)>1 then exit(k);
   if k=' 'then exit(' ')
   else begin
      a:=($A3A1)+ord(k[1])-ord('!');
      exit(chr(a shr 8)+chr(a and 255));
   end;
exit(k);

End;

之後呢還有問題,因為中文的標點是有講究的~例如逗號和句號不能在每行行首,前引號又不能在行末~

winword的設置是: 

後置標點:!),.:;?]}¨·ˇˉ─∥’”…:、。〃々〉》」』】〕〗!”’),.:;?〕‵|}∼¢

前置標點:([{·‘“〈《「『【〔〖(.〔{£¥

很可惜基本上網路上的都非常懶!沒人理這些~所以轉換效果那叫一個~

關注這些地方,應該可以基本上寫出一個轉換了~

但是已經由本人寫了一個~

更多見http://chineseportrait.sourceforge.net/


What's the Features?  新特性

  • ChinesePortrait 極限豎排 可以使一篇中文寫成的文章按照20世紀早期的豎排的排版風格編排。

                        
風 的 2 的 一 豎 a e C
格 豎 0 文 篇 排 i P h
編 排 世 章 中   t o i
排 的 紀 按 文 可   r n
。 排 早 照 寫 以 極 t e
版 期   成 使 限 r s


使之可以在blog、webspace等環境下實現中文的豎排而不需要額外的第三方支援。

  • ChinesePortrait can help one typeset a Chinese paragraph in a verticle way (known as shupai),which can be used in webpages, blogs and various of other environment without third party support.

 ChinesePortrait 2.1.8 Beta3 極限豎排

本軟件遵照GPL協議。

這裡有一些實例:http://chineseportrait.sourceforge.net/Gallery.htm

下載(二進制、源碼):http://sourceforge.net/project/platformdownload.php?group_id=235761

PS:本軟件同“假古文”可以防止被文字被PatternMatching&Filtered~

 


 






訪客留言 (返回 phoeagon 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]







人氣:79351
暱稱: phoeagon
性別: 男
MORE...  
« February 2019 »
SMTWTFS
12
3456789
10111213141516
17181920212223
2425262728
» 最新日誌
Blog Moved!
跨站jsMath实现
路由表是个好东西
Twitter Fav列表达陈100...
搞定了公式显示
» 日誌分類
全部 (175)
Code Storage (11)
Math&Phy@Chem@MM (8)
Music Anyway (5)
Programming Impossible (28)
RSS提示 (2)
StorageBox (5)
'Bout Here (12)
滑鼠人生 (42)
碎屑 (51)
未分類 (11)
» 訪客留言
http://clean... (xuotfenugvyz)
http://polll... (fzxzwtiooaqj)
Фильмы... (EqSo.obum)
Фильмы... (DfKz.wmnu)
Фильмы... (FiWo.snbd)
» 最近訪客
最近沒有訪客
» 每月文章
» 日誌訂閱
尚未訂閱任何日誌
» 我的好友
» 我的連結
Ink Mark --Jlim
StarKirby
|S||S||S|
「流年祭」
» 日誌統計
文章總數: 175
留言總數: 86
今日人氣: 121
累積人氣: 79351
» 站內搜索
RSS Feed