More and more publishers and authors are publishing their books in digital formats. some say that even today digital books sales have rose above printed books.
It is usually cheaper to create digital books, however not everyone has a reader today so if you create a digital book, you may end up reaching a much smaller audiance then standard paper based book.
On the other end since digital books are cheaper to publish, you can sale them for a much lower price.
We think the future of books is digital books. Books that are readable on devices such as tablets, smartphones or readers such as Amazon kindle.
These new devices pose new challanges for publishers, this is not simply distributing the same meterial in digital format (PDF files etc.). We need to make these devices convinient for reading and therfore we need a way to adapt the content to the device. Each device as it's own screen size and capabilities (for example, some has audio capabilities and/or color screens, some are black and white only).
The IDPF consortium was established in order to cope with these challanges. IDPF is a consortium of companies responsible for the EPUB format a file format for digital books.
In Helicon technologies we started learning this format in 2011 and published few novels in Hebrew using this format. We have recently published the first Hebrew book in the new version of EPUB (EPUB 3.0).
function RecursiveDelete($num) { global $commentstbl; $query = "SELECT num FROM $commentstbl WHERE ancestor='$num'"; $result = DoQuery($query, __LINE__); if($result->num_rows == 0) return; /* end of recursive call */ while($line = $result->fetch_assoc()) { $n = $line['num']; $query = "DELETE FROM comments WHERE num=$n"; $newresult = DoQuery($query, __LINE__); RecursiveDelete($n); } } function GetTimeStr($hour, $min, $sec, $month, $day, $year) { global $timeoffset; $time = mktime($hour, $min, $sec, $month, $day, $year, 0); $time += ($timeoffset * 3600); /* add time offset in seconds */ $str = date("d/m/Y H:i:s", $time); return $str; } /* | AddLinks: | Replace URL's in string with links */ function AddLinks($string) { $string = preg_replace("/(^|[^=\"\/])\b((\w+:\/\/|www\.)[^\s<]+)". "((\W+|\b)([\s<]|$))/i", "$1$2$4", $string); return preg_replace("/href=\"www/i", "href=\"http://www", $string); // $txt = preg_replace( "/(?\s]+)/i", "\\0", $txt ); // " } /* | Replace special codes in messages */ function SpecialCodes($str) { $str = stripslashes($str); $str = str_replace('<', '<', $str); $str = str_replace('|code|', '
', $str);
$str = str_replace('|CODE|', ' ', $str);
$str = str_replace('|ECODE|', '
", $str); $str = AddLinks($str); return $str; } /* | DisplayContents: | Show a string of section body, parsing dot commands | currently only one command is supported | .C that will start or stop code section */ function DisplayContents($contents) { $incode = 0; $contents = SpecialCodes($contents); $a = explode('
', $contents); foreach($a as $val) { if($val[0] == '.') { /* this is a command */ if($val[1] == 'C') { if(!$incode) { print "
\n"; } } if($incode) { while($incode) { print "