999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

個性化字體APP設計與實現

2023-03-13 03:54:08易多劉純慧舒暢
科技風 2023年6期
關鍵詞:用戶

易多 劉純慧 舒暢

湖南警察學院 湖南長沙 410138

書法作為中國上千年的傳承之物,是中國文化的代表作,漢字則是漢民族文化經歷數千年積累、沉淀所形成的思想智慧的結晶。隨著科技的革新和互聯網的發展,電腦和手機已經完全融入了人們的日常生活。伴隨著互聯網技術的日益成熟和手機電腦的普及,現階段的“敲字如飛”逐漸替代了傳統漢字一筆一畫的書寫。對于漢字這一傳統文化而言,長時間使用手機和電腦使得許多人只能大致記住其形態,提筆才發現無法正確地寫出其具體的部首結構。設計出這樣一款APP不但能滿足個人對個性化字體的需求,也讓人們重新認識手寫字體的重要性,避免“提筆忘字”的尷尬。對于以往的書法類APP而言,“字游”APP能夠通過拍照識圖、手繪字體的方式獲取到個人的字體,再將圖像字體輪廓錄入字庫,將個人字體轉換為圖文的形式再嵌入輸入法中,能夠實現個人個性化字體在互聯網上的流通。

一、個性化字體的原理

(一)字符編碼的發展歷程

談及字體庫數字化的呈現,不得不追溯字符編碼的發展歷程,在此只簡單介紹其中的一部分。初期由美國科學家開發了電子計算機,為了便于自身使用,ASCII編碼應運而生,所有英文符號、數字和標點符號都能夠在電腦上正確表達??蒲腥藛T發現共有128個這樣的字符,故規定用8位二進制來表達每一個字符。隨后,一些非英語母語的發達國家也引進了計算機,而其母語字數也在128位之內,正好填補了之前ASCII碼128~256位的空白,便各自將ASCII碼進行擴展,將其后128位字符表示為各自的母語字體。例如,在法語中的“é”,它的ASCII編碼是130(二進制10000010),但在希伯來語編碼中的同等位數又顯示是Gimel,在其他編碼中又會是另一種字符。因此不管怎樣,ASCII擴展碼中0~127表示的符號都是一樣的,而128~255的這一段卻大相徑庭。

當我國開始使用計算機時,由于漢字的數量遠大于2的8次方,我們開始自行摸索繼而有了GB2312字符編碼的誕生。其規定前127位字符與ASCII碼相同,大于127位的碼數用于定義漢字,采用兩個8位二進制定義一個字符。其規定以8位一組,將前一個字節稱為高字節,后一個字節稱為低字節,可組合表示6763個簡體漢字,依照漢字的拼音、部首和筆畫進行排序。一直到后來ISO(國際標準化組織)推出了Unicode(萬國碼),各國才有了一個統一且能涵蓋各國字體的規范化字符編碼。

(二)字庫文件的存儲格式

在機器中,可視化的字體都源于本機的字體庫。就電腦中字體而言,windows系統所采用的默認字體為“微軟雅黑”,在C:WindowsFonts路徑下我們會發現,windows系統中還裝有“仿宋常規”“楷體常規”等以.ttf為后綴的多種字體。也就是說,由個人創造的字體庫也同樣需要寫入該路徑中,電腦才能對其進行檢索、解析及調用。再使用界面中自帶的“查找字符”功能分別去查看這些字體的字符映射表,不難發現,相同位置的字體所對應的字體字符編碼都是采用ucs-2編碼(Unicode編碼中的一種),并且都為同一個字。我們可以從中得知其中的映射關系——字體的存儲就好比是一張相片對應著一個相框,不管相片的大小顏色如何改變,電腦的理解都只停留在相框這一層。

(三)字體形態的存儲原理

TTF(True Type Font)是由微軟與APPle公司聯合發布的字體文件格式。隨著Windows的普及,已成為目前最普遍的一個字體文檔顯示方法。

True Type字體是Windows操作系統所采用的唯一文字標準。它能夠簡單便捷地將文字輪廓轉換成曲線,可以直接根據曲線輪廓加以文字填充,構成各種不同的色彩圖案和文字效果,所以它常常被用作一種標題文字或者花樣字。

而ttf文件實質上也正如一個集裝箱,每種True Type字體包含于單個ttf文件中。其文字目錄中包含記載著所有文字格式文件的版本號文件和幾個表,各個表上又各自存儲記載著所有不同形式的文字邏輯記錄,包括最基本的圖元中的數據、字距的調整和信息文字、與圖元之間的映射等。

字體設計是針對一個參考網格設計的,該網格被稱為em-square,網格中的坐標系可以表達文字中的圖元。所以,em-squrare大小直接定義了文本中所有圖元被縮放的方式。True Type字體對網格調節的要求可體現在控制值表中。例如,對于需要設計的文字來說,字體長度、字體筆畫的長度,都可以是被限制的數值。

(四)字體內容的呈現方式

在計算機中,為完成對漢字信息的存儲、傳遞和檢索等一系列操作,需要采用到一個名為漢字內碼的機內代碼。計算機通過鍵盤鍵入接收到字體信息后,會由漢字操作系統的“輸入碼轉換模塊”將其信息轉換成機內代碼。不管何種的漢字系統和錄入方法,都要先經過電腦的轉化成為機內代碼,才能對其信息加以貯存和處理。在轉化成為機內代碼之后,計算機再利用漢字字模碼用點陣的方法對漢字的字形進行塑形。這種點陣方法就如一個個黑白方塊,用黑色對所需方塊加以填充,從而得到字形,所以簡而言之漢字字模碼也就是漢字的輸出形態。針對各種漢字的輸出條件不同,其相應的點陣多少也會有所不同,如“一”“二”等簡易型漢字可用16*16點陣,而隨著漢字筆畫及其復雜程度的提升,點陣的規模也會隨之擴大。字體庫中保存了所有字體的點陣代碼。在顯示器輸出文字時,電腦才會去檢查字庫,輸出字模點陣以得到正確的字形。

二、個性化軟件的設計

(一)軟件概述

“字游”,顧名思義,是一場字體的暢游,是不同手寫字體之間的一次碰撞。同時,與“自由”諧音,包含對其字體流通的自由自在,不受拘束的美好愿景。

“字游”是一款致力于用戶的個性需求,讓手寫字體能夠在電子設備上展示的APP。APP能清晰全面地展示手寫字體,讓用戶體驗學習他人的字體。通過網絡實現個人字體在互聯網中的流通從而帶動文化傳播,增強民族自尊心、自信心。同樣,文字是文化的根,行書的美觀,楷書的實用,草書的張狂,都能表現出很強的主觀精神,具有很強的綜合性。

(二)軟件特色

“字游”APP采用兩種字體錄入方式。其一是用戶用手指在手機屏幕上直接繪制字體,其二是通過拍照的方式,對紙張上的字體進行捕捉。自助式制作屬于自己的字體,能夠為用戶帶來與眾不同的體驗。

“字游”APP主要設計有三種模塊,即登錄模塊、個性造字模塊及我的字庫模塊。登錄模塊的主要功能是用戶的注冊,登錄和退出登錄;個性造字模塊主要用于創建字庫,同時完成對個人即將創建的字體進行描述,為個人字體取名等操作。其中有兩種字庫可供用戶選擇,分別是常用字庫和國標字庫,前者包含大部分簡單字體,可滿足常用字體的錄入,后者的字庫則較為完備。在我的字庫模塊中,用戶能夠看見個人創建的所有字庫,并可對其進行刪除、繼續書寫和改寫等一系列操作。

以下是部分操作界面展示:

圖1 創建字庫界面

圖2 書寫界面

三、個性化字體的實現

(一)實現的主要原理

“字游”希望實現的功能,是將手寫漢字通過拍攝得到的圖形替換本機字體,實現“摳字”功能,就類似于將圖片進行摳圖處理。各類圖片實質上是用不同色塊像素拼接而成,我們需要摳下其中的有效色塊。打個比方,將0~255對應成黑白色塊的顏色深淺程度,“0”代表黑色,“255”代表白色,中間的數字則代表由0至255顏色逐步遞減的色塊。將需要進行“摳字”處理的圖片進行色差調節,此時的圖片只有黑白兩色,利用腳本將黑色像素的保留,可得到字體的輪廓。

為實現“摳字”功能,還需要一定的環境要求,為保證字體質量,需要在適合的光亮和淡色的平滑紙張上進行書寫拍攝,手動書寫的漢字也要盡量勻稱,否則字體可能出現斷斷續續的情況。此外,通過“摳字”得到字體還需進行字體比例、位置的調節。少了這項操作,展示在我們眼前的文字會東倒西歪,甚至不在一條直線上。在ttf文件中記錄了每個字體的比例。故按照默認字體的字體比例進行調節可以很好地解決這一問題。

手繪字體的原理在于用Android屏幕進行手寫簽字的過程中,其實際是將手機觸摸屏視為畫板,將用戶指尖當作畫筆,指尖可置于手機觸摸屏上進行滑動,觸摸屏上將會自動呈現用戶指尖移動的軌跡,類似于用畫筆在一個畫板上繪畫的效果。

機器中字體替換的功能本質上是ttf文件的默認字體權限的更改。因此,將經過處理后得到的所有圖片集合轉換為ttf文件,再將其權限修改為默認字體即可。

(二)實現的關鍵技術

字體輸入的實現應與輸入法相關聯。一個輸入法的核心類為InputMethodSe rvice,候選字的顯示以及漢字的上屏等所有邏輯功能均使用該服務來完成。我們能夠通過Keyboardview方式或者Keyboard對象來完成單一的按鍵布局格式。KeyboardView同時也是一種真空的view,它的布局是不可預見的,但它的代碼含有一個名為Keyboard的輔助類成員,它能夠承擔相應的按鍵布局,包含了中英文鍵盤、數字和符號按鍵等,把布局上的按鈕與鍵盤系統內部的KeyCode對應出來,通常我們在建立Keyboard的時候可以直接添加xml文檔。

Android手繪字體的實現,首先,要選取某個屏幕尺寸的bitmap為底圖,并設定為全透明色。其次,將整個canvas內置于bitmap上,把觸控點擊事件作為paint即可。具體操作步驟為:獲取當前屏幕的長和寬,獲取布局和button,并寫出點擊事件,設置畫圖相關的bitmap、canvas、paint等,再寫點擊事件。最后,加載一個view,并再加上一個新的button,點擊取消標記即可。

具體關鍵代碼如下:

drawView=new DrawView(this,windowHeight,windowWidth);//通知view組件重繪

drawView.invalidate();

rl.addView(drawView);

btnn=new Button(this);

btnn.setText("new button");

RelativeLayout.LayoutParamsbtnpara=newRelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);

btnpara.addRule(RelativeLayout.CENTER_HORIZONTAL);

btnpara.addRule(RelativeLayout.CENTER_VERTICAL);

rl.addView(btnn,btnpara);

btnn.setOnClickListener(new View.OnClickListener(){

@Override

public void onClick(View v){

rl.removeView(drawView);

rl.removeView(btnn);

}

結語

這時我們會想:“為什么不能只替換自己經常用到的幾個字體呢?”事實上不能篡改Microsoft上的字體,這樣可能會涉及版權問題。為了避免這一問題的發生,我們需要創造出屬于自己的一套字庫。GB2312字符編碼可以表示6763個漢字,就算只采用現今的常用字庫也有3600余字,如果只是逐一輸入,還要保證對每個字體的滿意程度,這會是一個耗時耗力的工程,也是現今個性化字體類軟件不得不面對的一個共同難題。我們不禁聯想,是否可以開發出一種“自動學習”的功能,只獲取到用戶提供的偏旁部首,而后再去拼裝成一個完整的漢字。相信如此,錄入字體的工作量會大大減輕。

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 亚洲无码视频一区二区三区| 国产性生交xxxxx免费| 日本色综合网| 色婷婷成人网| 一本一道波多野结衣av黑人在线| 免费看a级毛片| 在线a视频免费观看| 中文字幕在线免费看| 欧美一级在线| 亚洲人成电影在线播放| 91综合色区亚洲熟妇p| 最新痴汉在线无码AV| 日本高清免费不卡视频| 国产va免费精品观看| 亚洲美女一区二区三区| 久久这里只有精品2| 最新精品久久精品| 国产91丝袜在线播放动漫| 亚洲成人高清无码| 亚洲男人天堂2018| 国产美女无遮挡免费视频网站| 性欧美精品xxxx| 伊人久综合| 九九香蕉视频| 久久婷婷色综合老司机| 天天综合网色| 亚洲天堂久久久| 成人国产小视频| 免费不卡视频| 国产精品美女网站| 婷婷六月天激情| 福利姬国产精品一区在线| 亚洲大学生视频在线播放| 欧美人与性动交a欧美精品| 伊人蕉久影院| 色综合久久88| 欧美天堂在线| 国产浮力第一页永久地址| 五月激情综合网| 国产久草视频| 国产亚洲欧美在线中文bt天堂| 国产在线精彩视频二区| 伊人国产无码高清视频| 色视频久久| 在线视频精品一区| 欧美日韩专区| 男人天堂亚洲天堂| 2021精品国产自在现线看| 日本在线国产| 91久久精品国产| 九九久久99精品| 97国产精品视频人人做人人爱| 国产Av无码精品色午夜| 国产午夜一级淫片| 激情在线网| 精品综合久久久久久97| 国产va在线观看免费| 久久久久久高潮白浆| 欧美国产在线一区| 玖玖精品在线| 无码免费的亚洲视频| 欧美福利在线观看| 一本色道久久88| 视频二区国产精品职场同事| 欧美黄网在线| 欧美精品色视频| 999精品视频在线| 亚洲日韩国产精品无码专区| 亚洲性网站| 精品1区2区3区| 91福利国产成人精品导航| 国产精品亚洲片在线va| 国产极品美女在线观看| 亚洲人成影院在线观看| 国产日韩久久久久无码精品| 婷婷色狠狠干| 久久综合伊人77777| 国产日韩久久久久无码精品| 久久国产毛片| 亚洲女同欧美在线| 午夜a级毛片| 在线观看精品自拍视频|