Data file formats: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎List of supported formats: needs sound formats, none yet)
m (not a stub these days)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page is about the various file formats that the XO may encounter.
{{stub}}

==Introduction==
==Introduction==
Because the OLPC has limited storage and limited RAM, it is not a good idea to support every data format used on regular PCs. It makes more sense to use our PCs to convert data than to put that burden on the OLPC.
Because the OLPC has limited storage and limited RAM, it is not a good idea to support every data format used on regular PCs. It makes more sense to use our PCs to convert data than to put that burden on the OLPC.

The libraries and packages in the build support various file formats. Some of this support is exposed through the various [[Activities]] and the files they are able to load.
Most activities list the mime types they support in their <tt>activity.info</tt> file.
In a [[Terminal activity]],
cat ~olpc/Activities/''Activity name''.activity/activity/activity.info
and there will be a mime_types line.

On some activities' wiki pages the infobox lists some of the mime types they support, e.g. [[Browse]].

==List of supported formats==
==List of supported formats==

* [[choosing image formats|Image formats]]
''TODO: This should become a table of format - mime-type - activities supporting the format - a link to sample files for each file format.''
** [[JPEG 2000]]

* [[Image file formats]]
** [[JPEG 2000]] (? does not work in Browse). [http://www.fnordware.com/j2k/relax.jp2 Sample file]
** [[GIF]]
** [[GIF]]
** [[JPEG]]
** [[JPEG]]
** [[PNG]]
** [[PNG]]
** [[SVG]] (in Browse, also directly by [[Sugar]] for icons). [http://svg-whiz.com/samples.html#svg Sample files (not all work in Browse]
** [[SVG]]
** [[TIFF]] (in [[Paint]] and in [[Read]] via [[Evince]]). [http://www.zarvantech.com/web/tiff_samples.html Sample files]. Multipage TIFFs don't work in Read (<trac>7166</trac>) or Paint.
** [[DVI]]? (might work in [[Read]] via [[Evince]]).


* [[Ebooks|eBook formats]]
* [[Ebooks|eBook formats]]
** HTML in [[Browse]]. Note Browse uses the [[XULRunner]] engine from Firefox, which supports advanced CSS 3 feature for nicer layout ([http://www.princexml.com/samples/slogans/slogans.html sample book] and [http://people.opera.com/howcome/2005/ala/sample.html sample chapter]).
** [[DJVU]]
** [[DJVU]] (coming some day to [[Read]], see <trac>6223</trac>). [http://djvu.org/docs/ Sample files]
** [[PDF]]
** [[PDF]] (in [[Read]] via [[Evince]])
* [[Multimedia]] formats:
** [[Browse]] supports advanced "HTML 5" capabilities such as the &lt;canvas&gt; tag for interactive rendering, though slowly (see [[HTML canvas performance]]).
** [[Music/formats|Sound formats]]
*** [[Ogg]] Vorbis (supported by the [[Totem plugin]] for [[Browse]]).[http://commons.wikimedia.org/wiki/Image:Tromboon-sample.ogg Sample file], also there are sample files in some OLPC builds in OLPC Library > media > music ([http://dev.laptop.org/pub/content/Library/music/bundle_index.html equivalent web version]. (The version of Browse in [[Release notes/8.2.0]] uses a XULRunner engine that does not yet support the &lt;audio&gt; and &lt;video&gt; tags.)
*** WAV (supported by the Totem plugin for Browse). [http://www.nch.com.au/acm/index.html Sample files]
*** the Totem and Gnash plugins for [[Browse]] claim to support other formats, enter <tt>about:plugins</tt> in the Browse location field.


* Sound formats
** Video formats
*** [[Ogg]] Theora (supported by the [[Totem plugin]] for [[Browse]])
** ?
*** [http://en.wikipedia.org/wiki/DV DV] format ? (/usr/lib/libdv present)


* General formats
* General formats
Line 26: Line 48:
* Compression formats
* Compression formats
** Uncompressed (this is listed because the JFFS2 filesystem on the OLPC will compress all compressable files)
** Uncompressed (this is listed because the JFFS2 filesystem on the OLPC will compress all compressable files)
** GNU Zip (supported by [[Python]]'s zlib module)
** GNU Zip (supported by [[Python]]'s zlib module, [[Etoys]], and the implementation of the jar: URL protocol in [[XULRunner]] that powers [[Browse]])

* OLPC-specific formats
** [[Activities]] are made available to download as ".xo" [[bundles]]
** [[Content]] is a made available to download as ".xol" [[bundles]]
** [[Journal entry bundles]] (a zip file with the ".xoj" extension and mime type 'application/vnd.olpc-journal-entry')

== See also ==
* [[:Category:mimetype]] and other mimetype category assignments of [[Activities]]
* [[Image file formats]]


[[Category:File formats]]
[[Category:File formats]]
[[Category:Python]]

Latest revision as of 04:46, 19 August 2009

This page is about the various file formats that the XO may encounter.

Introduction

Because the OLPC has limited storage and limited RAM, it is not a good idea to support every data format used on regular PCs. It makes more sense to use our PCs to convert data than to put that burden on the OLPC.

The libraries and packages in the build support various file formats. Some of this support is exposed through the various Activities and the files they are able to load. Most activities list the mime types they support in their activity.info file. In a Terminal activity,

 cat ~olpc/Activities/Activity name.activity/activity/activity.info

and there will be a mime_types line.

On some activities' wiki pages the infobox lists some of the mime types they support, e.g. Browse.

List of supported formats

TODO: This should become a table of format - mime-type - activities supporting the format - a link to sample files for each file format.

  • General formats
    • XML
    • SQLite (a lightweight relational database that is included in Python 2.5)
    • Gnu gdbm (supported by Python's dbm module)
    • Berkeley db version 4.3.0.1 (supported by Python's bsddb module)
  • Compression formats
    • Uncompressed (this is listed because the JFFS2 filesystem on the OLPC will compress all compressable files)
    • GNU Zip (supported by Python's zlib module, Etoys, and the implementation of the jar: URL protocol in XULRunner that powers Browse)

See also