Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

C library for handling Kindle (MOBI) formats of ebook documents

License

Notifications You must be signed in to change notification settings

hunaocode/libmobi

Repository files navigation

Libmobi

C library for handling Mobipocket/Kindle (MOBI) ebook format documents. Current version supports reading and parsing functions.

There is a simple program included in the project: mobitool.c. It may serve as an example how to use the library.

What works:

  • reading and parsing:
    • some older text Palmdoc formats (pdb),
    • Mobipocket files (prc, mobi),
    • newer MOBI files including KF8 format (azw, azw3),
    • Replica Print files (azw4)
  • recreating source files using indices
  • reconstructing references (links and embedded) in html files
  • reconstructing source structure that can be fed back to kindlegen
  • reconstructing dictionary markup (orth, infl tags)
  • handling encrypted documents

Todo:

  • writing MOBI documents
  • process RESC records
  • exporting to EPUB documents

Doxygen documentation:

Source:

Installation:

$ ./autogen.sh
$ ./configure
$ make
[optionally] $ make test
$ sudo make install

Usage

  • single include file: #include <mobi.h>
  • linker flag: -lmobi

Requirements

  • compiler supporting C99
  • zlib (optional, configure --with-zlib=no to use included miniz.c instead)
  • libxml2 (optional, enables OPF handling, configure --with-libxml2=no to disable)
  • tested with gcc (>=4.2.4), clang (llvm >=3.4), sun c (>=5.13)
  • builds on Linux, MacOS X, Windows (MinGW), Solaris
  • tested architectures: x86, x86-64, arm, ppc
  • works cross-compiled on Kindle :)

Tests

License:

  • LGPL, either version 3, or any later

Credits:

  • The huffman decompression and KF8 parsing algorithms were learned by studying python source code of KindleUnpack distributed with following license:

     Based on initial mobipocket version Copyright © 2009 Charles M. Hannum 
     Extensive Extensions and Improvements Copyright © 2009-2014 
     By P. Durrant, K. Hendricks, S. Siebert, fandrieu, DiapDealer, nickredding, tkeo.
     This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.
    
  • Thanks to all contributors of Mobileread MOBI wiki

About

C library for handling Kindle (MOBI) formats of ebook documents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.5%
  • Shell 0.5%

AltStyle によって変換されたページ (->オリジナル) /