font-size

所属分类:多国语言处理
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2021-05-09 11:18:17
上 传 者sh-1993
说明:  font-size是一个命令行实用程序,用于计算您的最佳字体大小,以便您的眼睛在长时间编程会话期间不会流血。,
(font -size is a command-line utility to calculate the best font -size for you, so that your eyes won’t bleed during long programming sessions.,)

文件列表:
.eslintrc (33, 2020-02-03)
.travis.yml (384, 2020-02-03)
CHANGELOG.md (206, 2020-02-03)
CODE_OF_CONDUCT.md (2075, 2020-02-03)
LICENSE (1078, 2020-02-03)
bin/ (0, 2020-02-03)
bin/lint.sh (377, 2020-02-03)
bin/test.sh (600, 2020-02-03)
index.js (400, 2020-02-03)
lib/ (0, 2020-02-03)
lib/config.js (2319, 2020-02-03)
lib/index.js (1885, 2020-02-03)
package.json (1186, 2020-02-03)
support/ (0, 2020-02-03)
support/xheight.html (1085, 2020-02-03)
yarn.lock (29951, 2020-02-03)

[![tests][tests]][tests-url] [![deps][deps]][deps-url] [![npm][npm]][npm-url] [![license][license]][license-url] [tests]: https://img.shields.io/travis/jsbites/font-size.svg [tests-url]: https://travis-ci.org/jsbites/font-size [deps]: https://david-dm.org/jsbites/font-size.svg [deps-url]: https://david-dm.org/jsbites/font-size [npm-url]: https://www.npmjs.com/packages/font-size [npm]: https://img.shields.io/npm/v/font-size.svg [deploy]: https://img.shields.io/github/last-commit/jsbites/font-size.svg?label=last%20deployed [deploy-url]: https://github.com/jsbites/font-size/ [license]: https://img.shields.io/npm/l/font-size.svg [license-url]: https://www.npmjs.com/package/font-size ``` ___________________ |"|"|"|"|"|"|"|"|"|"| | f o n t - s i z e | '-------------------' ``` `font-size` is a command-line utility that tells gives you the best font size to use based on your font preference, your viewing distance, and your screen’s resolution. ## About `font-size` `font-size` is a command-line utility that tells gives you the best font size to use based on your font preference, your viewing distance, and your screen’s resolution. > Note that having a 10-minute walk every couple of hours will also help you protect your eyes (and sanity); and as a side benefit you won’t have eye strains regardless of how tiny your font preference is. But you know yourself, don’t you? — When you are “in the zone” time dilates, and one earthling day feels like ten minutes to you. — But, not (necessarily) to your body. **`font-size` will convince you to bump up your font-size a notch**, so that you won’t have to consume Advils like jelly beans when you come back from “the zone” to the real world. ## How “Scientific” is This? Well, so far (it works for me) **:)**. I’ve read a bunch of papers and meta-studies about text readability(*one of them is cited, inside the source code — see [./lib/config.js](https://github.com/jsbites/font-size/blob/master/lib/config.js)*). — The problem is: None of the studies that I’ve found target digital screens. I’ve tried to adjust values based on a few facts: * Programmers use monotype type faces, which are designed to be readable in smaller font-sizes than a typical serif font like “Times New Roman”. * Modern displays have good enough resolution; so reading a text on a Retina display should be a fairly similar experience to reading the same text at the same distance and size on paper. To me, it gave fairly accurate results. Though, [please file an issue](https://github.com/jsbites/font-size/blob/master/https://github.com/jsbites/font-size/issues/new) if you think the settings can be adjusted to give better results (*see [./lib/config.js](https://github.com/jsbites/font-size/blob/master/lib/config.js) for the configuration options*). Also, [please shoot me an email](https://github.com/jsbites/font-size/blob/master/mailto:me@volkan.io) if you find an article or study that covers the effect of typeface and font x-height ratio regarding readability and eye fatigue. ## Can You Be More Specific, Please? The “*x-height critical size*” of a text that you are reading, in other words, the minimum size that the text is still legible is about **4.5 points at 16’’**, or **about 0.2° of visual arc**, for readers with **20/20 vision**. For older readers, this increases to **0.3°** (*~6 pts*); for those with much older and less flexible eyes, it rises to as much as **1.0°** (*~20 pts*). The lesson to learn here is that, the exact font size and shape that feels comfortable depends on many factors including, age, eyesight, and personal preference (*there even are people who **love** to code with “Comic Sans MS”, for example*) I’ve created this app to suit for a normalized used case. Also note that: * Each font will have a different **x-height**. * **x-height** is not the only thing that increases the font’s readability. A narrow font with a high x-height can be less readable than a wider font with relatively lower x-height. * Certain people (*people with astigmatism, dyslexia…) feel more comfortable with certain kinds of fonts regardless of the font’s x-height ratio. * The angle you look at the screen also affects your visual arc. The code simplifies the computation by assuming that you are directly looking at the screen; which is the case most of the time anyway. Additionally, the article that I cited talks about **print size**. — **72 points** on paper is **1 inches**; that’s a fact, and it does not change. One other thing is: Although almost all operating systems assume that your monitor has a 96 pixels-per-inch resolution, your display may have higher or lower pixels per physical ruler inch. — Which means 96 computer pixels, which is 1 computer inches, may not be 1 physical-world ruler inch. — To make the math simpler, the algorithm in this app calculates font sizes in pixels instead of points. — If you need a point font-size instead; it should be relatively easy to convert. ## Can I configure it for my taste? `font-size` assumes perfect vision, or perfectly adjusted vision (*i.e. corrective lenses*). Your adjusted vision might be less-than-perfect due to many factors, age being one of them. Currently the only way to configure `font-size` is through **forking it** and changing the visual arc degrees in [./lib/config.js](https://github.com/jsbites/font-size/blob/master/lib/config.js). I know that’s not ideal. — Please **create a pull request** if you want to let those values to be configurable externally (*say, by reading an external config file*). ## Installation Install using **NPM**: ```bash npm install -g font-size ``` ## Usage Examples The `font-size` API is simple; you provide your distance to the screen (*in inches* — sorry rest of the world), the x-height ratio of your preferred font, and your screen resolution (*in PPI*); and `font-size` gives you some recommendations: ```bash font-size --distance 28 --x-height .53 --resolution 110 For your typeface, the minimum legible font size is 19px (you don’t want to hurt your eyes, do you?). Your text is nicely readable starting from… 22px; however, anything beyond 27px will damage readability. ``` If you are a laptop user, on average, your eyes will be 23’’ from the monitor. Let’s change the distance to see what `font-size` recommends: ```bash font-size --distance 23 --x-height .53 --resolution 110 For your typeface, the minimum legible font size is 16px (you don’t want to hurt your eyes, do you?). Your text is nicely readable starting from… 18px; however, anything beyond 22px will damage readability. ``` Fair enough. And you generally hold your tablet around 14’’ from your eyes. Let’s recalculate with adjusted distance, using an Apple iPad Mini at 163 dpi: ```bash font-size --distance 14 --x-height .53 --resolution 163 For your typeface, the minimum legible font size is 14px (you don’t want to hurt your eyes, do you?). Your text is nicely readable starting from… 17px; however, anything beyond 20px will damage readability. ``` ## I Need Help You may use `--help` flag to get help: ```bash font-size --help ``` ## Dependencies You will need the **current** version of [Node.JS](https://github.com/jsbites/font-size/blob/master/https://nodejs.org/) with all the bells and whistles — [You can install it from nodejs.org](https://github.com/jsbites/font-size/blob/master/https://nodejs.org/). `font-size` is self-sufficient; all of its dependencies will be fetched during install time. — You can look at `package.json` to glance over the dependencies. ## Package Scripts Here are the helper npm scripts that you can run via `npm`: * `npm test`: Executes the unit tests. * `npm run lint`: Checks whether the source JavaScript is well-formed. ## Important Files and Folders * `./index.js`: The main entry point. * `bin`: Scripts that are mostly used by `npm`. * `CHANGELOG.md`: A log of what has been done since the last version. * `CODE_OF_CONDUCT.md`: Tells the collaborators to be nice to each other. * `README.md`: This very file. * `.eslintrc`: Used for development; configures `eslint`. * `.travis.yml`: Used for CI; configures Travis. ## Wanna Help? Any help is more than appreciated. If you want to contribute to the source code, **fork this repository** and **create a pull request**. > In lieu of a formal style guide, take care to maintain the existing coding style. Also, don’t forget to add unit tests for any new or changed functionality. If you want to report a bug; or share a comment or suggestion, [file an issue](https://github.com/jsbites/font-size/blob/master/https://github.com/jsbites/font-size/issues/new). ## I’ve Found a Bug; I Have an Idea [For bug reports and suggestions, please file an issue](https://github.com/jsbites/font-size/blob/master/https://github.com/jsbites/font-size/issues/new). ## Contact Information * **Project Maintainer**: [Volkan zelik](https://github.com/jsbites/font-size/blob/master/https://volkan.io/) * **Project Website**: [bytesized.tv](https://github.com/jsbites/font-size/blob/master/https://bytesized.tv/) ## License MIT-licensed. — [See the license file for details](https://github.com/jsbites/font-size/blob/master/LICENSE.md). ## Code of Conduct We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. [See the code of conduct for details](https://github.com/jsbites/font-size/blob/master/CODE_OF_CONDUCT.md). ## A [ByteSized.TV][vidcast] Project This repository is a part of the [Byte-Sized JavaScript VideoCasts][vidcast]. It is a compilation of short (*around ten minutes*) screencasts about **JavaScript** and related technologies. [**Learn**, **explore**, and **have fun**][vidcast]! [vidcast]: https://bytesized.tv/ "ByteSized.TV"

近期下载者

相关文件


收藏者