Blog Page 2 of 46 (454 posts) — ArchiveFeed

More scriptures in JSON

Scriptures in JSON

The JSON versions of the Doctrine & Covenants and the Pearl of Great Price are now available.

With the D&C, I opted to use section instead of chapter, which does mean a little inconsistency for scripts that use these JSON files, but it seemed better to be consistent with the source material.

With the Book of Abraham facsimiles in the Pearl of Great Price, I’m using the URLs to the images on LDS.org. (I don’t think I want to try to embed the images themselves.)

Old and New Testaments forthcoming.

Book of Mormon in JSON

Scriptures in JSON

I’ve released a JSON version of the Book of Mormon. Also available on GitHub.

Note: there’s an existing JSON version at the Mormon Documentation Project, but it has some unnecessary content (database IDs, duplicate info, etc.) and isn’t structured hierarchically. I did however use the MDP SQLite file to extract the text for this, then added additional content (title page, the book/chapter headings that were in the original text, testimonies) and made the changes from the 2013 edition.

Anyway, enjoy. I plan to do the same thing with the other volumes in the standard works. I’m also planning an expanded version of the Book of Mormon with extra metadata (people and places mentioned in each verse, author of the verse, etc.).

I’m working on a Russian alphabet chart at the moment. Things are mostly in place, with some spacing to do on some of the IPA bits, possibly adding cursive, and then sending the chart to some Russian speakers for proofing. It’s close.

I’ve reorganized my Mormon page, primarily to gather together all of the scripture-related materials into their own pages, like the new Book of Mormon page. I also have a few new related projects in the works, some of which are very exciting. More details later.

From Charles Mann’s 1491:

Almost 150 years before Columbus set sail, a Tartar army besieged the Genoese city of Kaffa. Then the Black Death visited. To the defenders’ joy, their attackers began dying off. But triumph turned to terror when the Tartar khan catapulted the dead bodies of his men over the city walls, deliberately creating an epidemic inside. The Genoese fled Kaffa, leaving it open to the Tartars. But they did not run away fast enough; their ships spread the disease to every port they visited.

Whoa.

Progress on Press has been a bit slower lately. I’ve fixed most of the errors I discovered by running the exported PDFs through the 3-Heights PDF validator. I also refactored the code and reorganized the package per Kenneth Reitz’s advice.

I’ve implemented initial support for embedding subsetted fonts (doing the subsetting via fontTools.subset), and while the fonts (including uninstalled fonts) display fine on my macOS box, the PDFs don’t validate properly and the fonts don’t show at all on iOS, which means the embedding isn’t actually working right. Current suspects include the /Differences array (which I’m not generating properly yet) and the CMap (which I haven’t implemented at all yet). I still have to implement ToUnicode as well, so that copying and pasting does what it should, but I’m fairly certain that isn’t what’s causing the fonts to not embed properly.

I’m also trying to figure out color spaces. In general I believe I want the output to be either DeviceRGB or DeviceCMYK, with some way of specifying an output intent, and also an option for the user to embed an ICC profile if they want. I’m part of the way there.

Anyway, the font stuff is far more complicated than I expected going in, but I’m still making progress, and I’m learning a lot.

A quick update: I was stuck for a while on the Dagh story, but I’ve started spending my lunch hour working on it, and it’s coming together nicely. I should have a complete first draft done soon. (I’ve got 7,000 words on it so far.)

Rather than starting work on Ink with the low-level typesetting engine, I’m thinking it’ll be worthwhile instead to start with a processor that goes through Ink rules and outputs TeX and/or SILE code. More to come later.