DAISY:一种Linux上可用的服务于视力缺陷者的文本格式

如果你是盲人或像我一样有视力障碍,你可能经常需要各种软硬件才能做到视觉正常的人们视之为理所当然的事情。这其中之一就是阅读的印刷图书的专用格式:布莱叶盲文Braille(假设你知道怎样阅读它)或特殊的文本格式例如 DAISY。

DAISY 是什么?

DAISY 是数字化无障碍信息系统Digital Accessible Information System的缩写。 它是一种开放的标准,专用于帮助盲人阅读课本、杂志、报纸、小说,以及你想到的各种东西。 它由 DAISY 联盟创立于上世纪 90 年代中期,该联盟包括的组织们致力于制定出一套标准,可以让以这种方式标记的文本易于阅读、可以跳转、进行注释以及其它的文本操作,就像视觉正常的人能做的一样。

当前的 DAISY 3.0 版本发布于 2005 年中期,是一个完全重写了的标准。它创建的目的是更容易撰写遵守该规范的书籍。值得注意的是,DAISY 能够仅支持纯文本、或仅是录音(PCM wave 文件格式或者 MP3 格式)、或既有文本也有录音。特殊的软件能阅读这类书,并支持用户设置书签和目录导航,就像正常人阅读印刷书籍一样。

DAISY 是怎样工作的呢?

DAISY,除开特殊的版本,它工作时有点像这样:你拥有自己的主向导文件(在 DAISY 2.02 中是 ncc.html),它包含书籍的元数据,比如作者姓名、版权信息、书籍页数等等。而在 DAISY 3.0 中这个文件是一个有效的 XML 文件,以及一个被强烈建议包含在每一本书中的 DTD(文档类型定义)文件。

在导航控制文件中,标记精确描述了各个位置——无论是文本导航中当前光标位置还是录音中的毫秒级定位,这让该软件可以跳到确切的位置,就像视力健康的人翻到某个章节一样。值得注意的是这种导航控制文件仅包含书中主要的、最大的书籍组成部分的位置。

更小的内容组成部分由 SMIL(同步多媒体集成语言Synchronized Multimedia Integration Language)文件处理。导航的层次很大程度上取决于书籍的标记的怎么样。这样设想一下,如果印刷书籍没有章节标题,你就需要花很多的时间来确定自己阅读的位置。如果一本 DAISY 格式的书籍被标记的很差,你可能只能转到书本的开头或者目录。如果书籍被标记的太差了(或者完全没有标记),你的 DAISY 阅读软件很可能会直接忽略它。

为什么需要专门的软件?

你可能会问,如果 DAISY 仅仅是 HTML、XML、录音文件,为什么还需要使用专门的软件进行阅读和操作。单纯从技术上而言,你并不需要。专业化的软件大多数情况下是为了方便。这就像在 Linux 操作系统中,一个简单的 Web 浏览器可以被用来打开并阅读书籍。如果你在一本 DAISY 3 的书中点击 XML 文件,软件通常做的就是读取那些你赋予访问权限的书籍的名称,并建立一个列表让你点击选择要打开的书。如果书籍被标记的很差,它不会显示在这份清单中。

创建 DAISY 则完全是另一件事了,通常需要专门的软件,或需要拥有足够的专业知识来修改一个通用的软件以达到这样的目的。

结语

幸运的是,DAISY 是一个已确立的标准。虽然它在阅读方面表现的很棒,但是需要特殊软件来生产它使得视力缺陷者孤立于正常人眼中的世界,在那里人们可以以各种格式去阅读他们电子化书籍。这就是 DAISY 联盟在 EPUB 格式取得了 DAISY 成功的原因,它的第 3 版支持一种叫做“媒体覆盖”的规范,基本上来说是在 EPUB 电子书中可选增加声频或视频。由于 EPUB 和 DAISY 共享了很多 XML 标记,一些能够阅读 DAISY 的软件能够看到 EPUB 电子书但不能阅读它们。这也就意味着只要网站为我们换到这种开放格式的书籍,我们将会有更多可选的软件来阅读我们的书籍。

本文作者:佚名

来源:51CTO

时间: 2024-12-31 01:23:43

DAISY:一种Linux上可用的服务于视力缺陷者的文本格式的相关文章

入门:如何在 Kali Linux上安装SSH服务

介绍 目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 # - 给定命令需要以 root 用户权限运行或者使用 sudo 命令 $ - 给定命令以常规权限用户运行 指导 安装 SSH 从终端使用 apt-get 命令安装 SSH 包: # apt-get update  # apt-get install ssh   启用和开始使用 SSH 为了确保安全 shel

入门:如何在 Kali Linux 上安装 SSH 服务

安装 SSH 从终端使用 apt-get 命令安装 SSH 包: # apt-get update # apt-get install ssh 启用和开始使用 SSH 为了确保安全 shell 能够使用,在重启系统后使用 systemctl 命令来启用它: # systemctl enable ssh 在当前对话执行中使用 SSH: # service ssh start 允许 SSH Root 访问 默认情况下 SSH 不允许以 root 用户登录,因此将会出现下面的错误提示信息: Permi

在 Linux 上使用 eCryptFS 加密文件和目录

在 Linux 上使用 eCryptFS 加密文件和目录 作为罪犯,你需要为自己的身份保密:而作为中情局成员,你同样也需要为自己的身份保密.但是,你却不是他们其中的任何一员,你只是不想其他人查探到你的金融数据.家庭照片.尚未出版的手稿,或者记录着你能发家致富的最初想法的私密笔记. 我时常听到有人告诉我"我只是个微不足道的人,没人会查探我"或者"我没有什么东西要隐藏的."好吧,告诉你我的想法,即便我没有什么要隐藏的,或者我也可以公开我带着狗的孩子的照片,那我也有权利不

应该在Linux上使用的10种云解决方案

不久前,为用户提供一种备份远程机器上数据的简易方法还很稀奇.现在,我们已觉得这理所当然.Dropbox及其他公司简化了这项任务.苹果.谷歌和微软都提供各自的数据备份方法. 在Linux上,情况有点不一样.发行版并不提供各自的云服务来管理你的数据(不过Ubuntu过去拥有Ubuntu One).一些主流发行版并不提供尚可的Linux客户软件. 但是你并非不走运.许多流行的服务确实可以在Linux下使用.你还有办法可以部署自己的解决方案,对数据获得控制权. 专有服务 大多数商用的云存储服务依赖闭源代

详解linux上dhcp服务的安装与配置

一.在linux上实现单作用域的dhcp服务 ( 本实训的基础设施是VMware Workstation虚拟机里linux enterprise 5.4系统的主机和winxp的主机) 1.挂载光盘,安装dhcp软件包 2.dhcp|less查看安装完软件包后生成的各类文件 3.把配置文件的样例文件的内容拷到配置文件并做相应的修改 dhcp的配置文件完成配置后输入service dhcpd start 启动服务 4.开启客户端,开启地址自动获得功能,另外需要注意的是虚拟机本来就提供dhcp的服务,

服务无法启动-linux上firebird安装启动问题

问题描述 linux上firebird安装启动问题 官网上有如下描述"On Linux the Firebird engine is started whenever you carry out an install - from an RPM or via a script - and at system boot time. This means that Firebird is available whenever your system is running once you have

web服务部署到linux上后,文件上传路径如何修改呢?

问题描述 web服务部署到linux上后,文件上传路径如何修改呢? 在windows下开发的时候,我的文件上传保存路径为 d:/www/xx/,项目部署到linux上后,应该如何修改上传路径呢?如果不修改,我发现也可以上传,但是文件会上传到tomcat7/bin/目录中,给人感觉非常混乱.我希望能放在指定的文件夹中.谢谢! 解决方案 参考:http://www.enkj.com/help/newscontent/70983 你的路径用 /upload/xxx 就会根据你定义的目录相对路径找到 解

菜鸟必备的96种linux操作技巧(上)

今天风信网的编辑为Linux菜鸟带来96种linux实际操作的必备技巧,用心的学习,可以让Linux菜鸟也掌握一些必杀技能啦!详情我们往下细看吧! 1. 查看man文件... nroff -man man/libnet.3 | less有时候man文件不在系统目录..这时候就可以用上面的方式来查看非标准的man文件 2. 以不同的用户身份运行程序... su - userhttp://www.aliyun.com/zixun/aggregation/11696.html">name -c

运行Asp.net应用程序在Linux上的3种托管方式

运行Asp.net应用程序在Linux上的3种托管方式   想要运行Asp.net应用程序在Linux上,我们有3种选择: 1.使用Apache作为Web服务器,使用mod_mono:http://www.mono-project.com/docs/web/mod_mono/2.使用Nginx作为Web服务器,使用FastCGI托管:http://www.mono-project.com/docs/web/fastcgi/3.使用XSP作为Web服务器,这是一个用C#写的轻量级简单的web se