DAISY : Linux 上可服务于视力缺陷者的福音

news2024/11/23 4:21:47
导读如果你是盲人或像我一样有视力障碍,你可能经常需要各种软硬件才能做到视觉正常的人们视之为理所当然的事情。这其中之一就是阅读的印刷图书的专用格式:布莱叶盲文(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 电子书但不能阅读它们。这也就意味着只要网站为我们换到这种开放格式的书籍,我们将会有更多可选的软件来阅读我们的书籍。

更多Linux资讯请查看:https://www.linuxprobe.com 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ThinkPHP 加载自定义扩展文件

很久没有用过TP了,自定义扩展文件怎么加载的都不太清楚了,重新捋一遍,记录一下。 ThinkPHP版本 ^6.1.0 目录 1.将自定义扩展文件放入extend 2.设置类文件命名空间 extend下直接是类文件,不需设置命名空间 有层级的类文件&…

回顾2022,展望2023

文章目录初来乍到为什么是CSDN期间期间文章新年愿望初来乍到 额(⊙﹏⊙),要从何说起呢? 我看了一下,写这篇文章时正好是我来到CSDN这个大家庭的75天,对于我而言75天说长不长,说短也不短。75天相比于CSDN中的前辈们来…

SpringBoot+VUE前后端分离项目学习笔记 - 【10 Vue实现增删改查】

vue安装axios: npm i axios -S 前端代码 request.js封装 新建utils/request.js import axios from axiosconst request axios.create({baseURL: http://localhost:9090/,timeout: 5000 })// request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一…

磷脂聚乙二醇葡萄糖 DSPE-PEG-Glucose简介;脂质体表面进行聚乙二醇修饰;DSPE-PEG-葡萄糖

中文名称 磷脂聚乙二醇葡萄糖 葡萄糖聚乙二醇磷脂 简称 DSPE-PEG-Glucose Glucose-PEG-DSPE 分子量 2000/3000/3400/40005000/10000 溶剂 溶于部分常规有机溶剂 存储条件 -20冷冻保存,惰性气体保护 结构式 化学…

JVM面试题详解系列——垃圾收集器详解

垃圾收集器 Serial 收集器(GC日志标识:DefNew) Serial(串行)收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。 它的 “单线程” 的意义不仅仅意味着它只会使用一条垃圾…

Windows 卡顿问题整理

右键卡顿 1 开始,运行,输入regedit,打开注册表; 找到注注册表项:HKEY_CLASSES_ROOT/Directory/Background/shellex/ContextMenuHandlers 。 系统一般有 5 个 Key:留下 New,其他删除,…

统计大写字母-C语言实现

任务描述 本关任务:统计大写字母个数。 相关知识 视频1 初识文本处理之单词计数II — C 语言的逻辑运算符 逻辑运算符 C 语言定义了3个逻辑运算符,其表示方法及含义如下表所示。 逻辑运算C语言符号表示说明与&&双目运算符,若两个…

九 深度剖析数据在内存中的存储

目录 一.整形在内存中的存储 1.原码,反码,补码 (1)正数的原反补码 (2)负数的原反补码 2.大小端介绍 二.浮点型在内存中的存储 1.浮点型的存储 2.浮点型的读取 一.整形在内存中的存储 1.原码&#…

【学习】RL

sparse reward我们不知道行动是好是坏,大多数情况下,如果r 0,那怎么解决呢?例如,机器人手臂将螺栓固定在螺丝上,开发人员应该定义额外奖励来指导代理(reward shaping)。reward shap…

PyFlink使用说明:建表及连接Mysql数据库

PyFlink1.16.0 使用说明:建表及连接Mysql数据库引言安装运行环境PyFlink创建作业环境一、创建一个 Table API 批处理表环境二、创建一个 Table API 流处理表环境三、创建一个 DataStream API 数据流处理环境PyFlink建表一、从Python List对象创建一个 Table二、创建…

尚硅谷-SpringSecurity

一、SpringSecurity是什么 SpringSecurti基于Spring框架,提供了一套Web应用安全性的完整解决方案 一般来说,Web应用的安全性包括用户认证(Authenticataion)和用户授权(Authorization)两个部分 这两点也是S…

【2023程序员必看】产品经理行业分析

今天我要给大家推荐一个政策好,薪酬高,发展好,门槛低,且容易实现CEO总裁梦的岗位。当当当当当~产品经理,不用写代码的高薪互联网岗位! 接下来我们就来聊聊它的政策机会,职业前景与薪资待遇&…

mac无法启用443端口的解决方案

前言:在macOS中,对于1024以下的端口需要使用root权限才可以使用,因此在mac中启动本地的vue-cli项目的时候,端口443无法正常使用,即使在配置文件中配置了443端口,启动项目的时候,仍然会是1024端口…

良品铺子:金选年货礼盒里,装着“高端零食”的初心

撕下一页日历,春节的脚步越来越近。自古以来,置办年货就是过年不可或缺的环节,年货中包含着浓浓的年味。“农家腊月为食忙,转换时空去品尝,腊菜藏于坛子里,鲜鱼养在自家塘,粉丝豆泡鸡汤热&#…

node实现文件上传和下载

一、node实现文件上传 1. FormData对象:以对象的方式来表示页面中的表单,又称为表单对象。以key-value的方式来保存数据,XMLHttpRequest对象可以轻松地将表单对象发送到服务器端 ​ (1)是一个构造函数:ne…

Talk预告 | 字节跳动(北美)软件工程师桑燊:风格化3D虚拟形象的创建

本期为TechBeat人工智能社区第469期线上Talk! 北京时间1月5日(周四)20:00,字节跳动(北美) 计算机视觉与图形学软件工程师——桑燊的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “风格化3D虚拟形象的创建”,届时…

mongodb 分组子文档合并

【问题】Hi, i am trying to use mongodb aggregate query using $setUnion, $project and also $group to group the documents. The structure of document is{ “_id” : ObjectId(“55014006e4b0333c9531043e”), “acls” : { “append” : { “users” : [ObjectId(“54f…

domain_fronting域名前置检测调研笔记

暗度陈仓:基于国内某云的 Domain Fronting 技术实践 https://www.anquanke.com/post/id/195011?fromtimeline 1.作者提到因为 CDN 的存在,访问网站时访问的实际上只是 CDN,而不是直接和网站的真实服务器进行通信,所以利用 CDN 的…

【虹科云展厅】虹科赋能汽车智能化云展厅今日正式上线!

虹科2023年开年福利来了! 聚焦前沿技术,【虹科赋能汽车智能化云展厅】正式上线,本次云展厅围绕“汽车以太网/TSN、汽车总线、智能网联、电子测试与验证、自动驾驶”等核心话题,为您带来如临展会现场般的讲演与介绍,更…

【MySQL】MySQL基本数据类型

序号系列文章1【MySQL】MySQL介绍及安装2【MySQL】MySQL基本操作详解3【MySQL】MySQL基本数据类型文章目录1,数字类型1.1,整型类型1.2,浮点数类型1.3,定点数类型1.4,BIT类型1.5,直接常量2,时间和…