ImageVerifierCode 换一换
格式:PDF , 页数:3 ,大小:159.44KB ,
资源ID:479467      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/479467.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(个性化字体APP设计与实现_易多.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

个性化字体APP设计与实现_易多.pdf

1、DOI:1019392/jcnki1671-7341202306025个性化字体 APP 设计与实现易 多刘纯慧舒 畅湖南警察学院湖南长沙410138摘要:中国汉字历经千年的积淀与洗礼,其形态丰富多样且各具特色。现今,电脑和手机的普及让越来越多的年轻人患上了“电脑手机失写症”,人们手写汉字的意识逐渐淡薄。为了让人们重拾对手写汉字的兴趣,通过分析现有字体存取技术,结合字库相关知识与现有的图形图像技术,设计出一款名为“字游”的个性化字体 APP。将具有个性化的字体保存在 APP 的字库中,形成个性化的字体,以此更换在手机上展示出来的默认字体,能够为用户带来全新的体验。关键词:APP;个性化字体;字

2、库书法作为中国上千年的传承之物,是中国文化的代表作,汉字则是汉民族文化经历数千年积累、沉淀所形成的思想智慧的结晶。随着科技的革新和互联网的发展,电脑和手机已经完全融入了人们的日常生活。伴随着互联网技术的日益成熟和手机电脑的普及,现阶段的“敲字如飞”逐渐替代了传统汉字一笔一画的书写。对于汉字这一传统文化而言,长时间使用手机和电脑使得许多人只能大致记住其形态,提笔才发现无法正确地写出其具体的部首结构。设计出这样一款 APP 不但能满足个人对个性化字体的需求,也让人们重新认识手写字体的重要性,避免“提笔忘字”的尴尬。对于以往的书法类 APP 而言,“字游”APP能够通过拍照识图、手绘字体的方式获取到

3、个人的字体,再将图像字体轮廓录入字库,将个人字体转换为图文的形式再嵌入输入法中,能够实现个人个性化字体在互联网上的流通。一、个性化字体的原理(一)字符编码的发展历程谈及字体库数字化的呈现,不得不追溯字符编码的发展历程,在此只简单介绍其中的一部分。初期由美国科学家开发了电子计算机,为了便于自身使用,ASCII 编码应运而生,所有英文符号、数字和标点符号都能够在电脑上正确表达。科研人员发现共有 128 个这样的字符,故规定用8 位二进制来表达每一个字符。随后,一些非英语母语的发达国家也引进了计算机,而其母语字数也在 128 位之内,正好填补了之前 ASCII 码 128256 位的空白,便各自将

4、ASCII 码进行扩展,将其后 128 位字符表示为各自的母语字体。例如,在法语中的“”,它的 ASCII 编码是 130(二进制 10000010),但在希伯来语编码中的同等位数又显示是 Gimel,在其他编码中又会是另一种字符。因此不管怎样,ASCII 扩展码中 0 127 表示的符号都是一样的,而128255 的这一段却大相径庭。当我国开始使用计算机时,由于汉字的数量远大于 2的 8 次方,我们开始自行摸索继而有了 GB2312 字符编码的诞生。其规定前 127 位字符与 ASCII 码相同,大于 127位的码数用于定义汉字,采用两个 8 位二进制定义一个字符。其规定以 8 位一组,将前

5、一个字节称为高字节,后一个字节称为低字节,可组合表示 6763 个简体汉字,依照汉字的拼音、部首和笔画进行排序。一直到后来 ISO(国际标准化组织)推出了 Unicode(万国码),各国才有了一个统一且能涵盖各国字体的规范化字符编码。(二)字库文件的存储格式在机器中,可视化的字体都源于本机的字体库。就电脑中字体而言,windows 系统所采用的默认字体为“微软雅黑”,在 C:WindowsFonts 路径下我们会发现,windows 系统中还装有“仿宋常规”“楷体常规”等以ttf 为后缀的多种字体。也就是说,由个人创造的字体库也同样需要写入该路径中,电脑才能对其进行检索、解析及调用。再使用界面

6、中自带的“查找字符”功能分别去查看这些字体的字符映射表,不难发现,相同位置的字体所对应的字体字符编码都是采用 ucs-2 编码(Unicode 编码中的一种),并且都为同一个字。我们可以从中得知其中的映射关系 字体的存储就好比是一张相片对应着一个相框,不管相片的大小颜色如何改变,电脑的理解都只停留在相框这一层。(三)字体形态的存储原理TTF(True Type Font)是由微软与 APPle 公司联合发布的字体文件格式。随着 Windows 的普及,已成为目前最普遍的一个字体文档显示方法。True Type 字体是 Windows 操作系统所采用的唯一文字标准。它能够简单便捷地将文字轮廓转换

7、成曲线,可以直接根据曲线轮廓加以文字填充,构成各种不同的色彩图案和文字效果,所以它常常被用作一种标题文字或者花样字。而 ttf 文件实质上也正如一个集装箱,每种 True Type字体包含于单个 ttf 文件中。其文字目录中包含记载着所47电子信息科技风 2023 年 2 月有文字格式文件的版本号文件和几个表,各个表上又各自存储记载着所有不同形式的文字逻辑记录,包括最基本的图元中的数据、字距的调整和信息文字、与图元之间的映射等。字体设计是针对一个参考网格设计的,该网格被称为em-square,网格中的坐标系可以表达文字中的图元。所以,em-squrare 大小直接定义了文本中所有图元被缩放的方

8、式。True Type 字体对网格调节的要求可体现在控制值表中。例如,对于需要设计的文字来说,字体长度、字体笔画的长度,都可以是被限制的数值。(四)字体内容的呈现方式在计算机中,为完成对汉字信息的存储、传递和检索等一系列操作,需要采用到一个名为汉字内码的机内代码。计算机通过键盘键入接收到字体信息后,会由汉字操作系统的“输入码转换模块”将其信息转换成机内代码。不管何种的汉字系统和录入方法,都要先经过电脑的转化成为机内代码,才能对其信息加以贮存和处理。在转化成为机内代码之后,计算机再利用汉字字模码用点阵的方法对汉字的字形进行塑形。这种点阵方法就如一个个黑白方块,用黑色对所需方块加以填充,从而得到字

9、形,所以简而言之汉字字模码也就是汉字的输出形态。针对各种汉字的输出条件不同,其相应的点阵多少也会有所不同,如“一”“二”等简易型汉字可用 16*16 点阵,而随着汉字笔画及其复杂程度的提升,点阵的规模也会随之扩大。字体库中保存了所有字体的点阵代码。在显示器输出文字时,电脑才会去检查字库,输出字模点阵以得到正确的字形。二、个性化软件的设计(一)软件概述“字游”,顾名思义,是一场字体的畅游,是不同手写字体之间的一次碰撞。同时,与“自由”谐音,包含对其字体流通的自由自在,不受拘束的美好愿景。“字游”是一款致力于用户的个性需求,让手写字体能够在电子设备上展示的 APP。APP 能清晰全面地展示手写字体

10、,让用户体验学习他人的字体。通过网络实现个人字体在互联网中的流通从而带动文化传播,增强民族自尊心、自信心。同样,文字是文化的根,行书的美观,楷书的实用,草书的张狂,都能表现出很强的主观精神,具有很强的综合性。(二)软件特色“字游”APP 采用两种字体录入方式。其一是用户用手指在手机屏幕上直接绘制字体,其二是通过拍照的方式,对纸张上的字体进行捕捉。自助式制作属于自己的字体,能够为用户带来与众不同的体验。“字游”APP 主要设计有三种模块,即登录模块、个性造字模块及我的字库模块。登录模块的主要功能是用户的注册,登录和退出登录;个性造字模块主要用于创建字库,同时完成对个人即将创建的字体进行描述,为个

11、人字体取名等操作。其中有两种字库可供用户选择,分别是常用字库和国标字库,前者包含大部分简单字体,可满足常用字体的录入,后者的字库则较为完备。在我的字库模块中,用户能够看见个人创建的所有字库,并可对其进行删除、继续书写和改写等一系列操作。以下是部分操作界面展示:图 1 创建字库界面图 2 书写界面三、个性化字体的实现(一)实现的主要原理“字游”希望实现的功能,是将手写汉字通过拍摄得到的图形替换本机字体,实现“抠字”功能,就类似于将图片进行抠图处理。各类图片实质上是用不同色块像素拼接而成,我们需要抠下其中的有效色块。打个比方,将 0 255 对应成黑白色块的颜色深浅程度,“0”代表黑色,“255”

12、代表白色,中间的数字则代表由 0 至 255 颜色逐步57科技风 2023 年 2 月电子信息递减的色块。将需要进行“抠字”处理的图片进行色差调节,此时的图片只有黑白两色,利用脚本将黑色像素的保留,可得到字体的轮廓。为实现“抠字”功能,还需要一定的环境要求,为保证字体质量,需要在适合的光亮和淡色的平滑纸张上进行书写拍摄,手动书写的汉字也要尽量匀称,否则字体可能出现断断续续的情况。此外,通过“抠字”得到字体还需进行字体比例、位置的调节。少了这项操作,展示在我们眼前的文字会东倒西歪,甚至不在一条直线上。在 ttf 文件中记录了每个字体的比例。故按照默认字体的字体比例进行调节可以很好地解决这一问题。

13、手绘字体的原理在于用 Android 屏幕进行手写签字的过程中,其实际是将手机触摸屏视为画板,将用户指尖当作画笔,指尖可置于手机触摸屏上进行滑动,触摸屏上将会自动呈现用户指尖移动的轨迹,类似于用画笔在一个画板上绘画的效果。机器中字体替换的功能本质上是 ttf 文件的默认字体权限的更改。因此,将经过处理后得到的所有图片集合转换为 ttf 文件,再将其权限修改为默认字体即可。(二)实现的关键技术字体输入的实现应与输入法相关联。一个输入法的核心类为 InputMethodSe rvice,候选字的显示以及汉字的上屏等所有逻辑功能均使用该服务来完成。我们能够通过Keyboardview 方式或者 Ke

14、yboard 对象来完成单一的按键布局格式。KeyboardView 同时也是一种真空的 view,它的布局是不可预见的,但它的代码含有一个名为 Keyboard 的辅助类成员,它能够承担相应的按键布局,包含了中英文键盘、数字和符号按键等,把布局上的按钮与键盘系统内部的 KeyCode 对应出来,通常我们在建立 Keyboard 的时候可以直接添加 xml 文档。Android 手绘字体的实现,首先,要选取某个屏幕尺寸的 bitmap 为底图,并设定为全透明色。其次,将整个canvas 内置于 bitmap 上,把触控点击事件作为 paint 即可。具体操作步骤为:获取当前屏幕的长和宽,获取布

15、局和button,并写出点击事件,设置画图相关的 bitmap、canvas、paint 等,再写点击事件。最后,加载一个 view,并再加上一个新的 button,点击取消标记即可。具体关键代码如下:drawView=new DrawView(this,windowHeight,window-Width);/通知 view 组件重绘drawViewinvalidate();rladdView(drawView);btnn=new Button(this);btnnsetText(new button);elativeLayoutLayoutParamsbtnpara=newelativeLa

16、youtLayoutParams(elativeLayout LayoutParams WAP _ CON-TENT,elativeLayoutLayoutParamsWAP_CONTENT);btnpara addule(elativeLayout CENTE _ HOIZON-TAL);btnpara addule(elativeLayout CENTE _ VETI-CAL);rladdView(btnn,btnpara);btnnsetOnClickListener(new ViewOnClickListener()Overridepublic void onClick(View v)rlremoveView(drawView);rlremoveView(btnn);结语这时我们会想:“为什么不能只替换自己经常用到的几个字体呢?”事实上不能篡改 Microsoft 上的字体,这样可能会涉及版权问题。为了避免这一问题的发生,我们需要创造出属于自己的一套字库。GB2312 字符编码可以表示6763 个汉字,就算只采用现今的常用字库也有 3600 余字,如果只是逐一输入,还要保证对每

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2