<?php /** * Displays 65,536 characters. * @author Richard S. Mitchell * @copyright Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. */ /** * Print $s with appended (Unix default) newline; prints just a newline if * called without an argument. * @param string $s * @param string $os (optional) m macintosh, w windows * @return void */ function println($s = '', $os = '') { switch ($os) { case 'm': $newline = "\r"; break; case 'w': $newline = "\r\n"; break; default: $newline = "\n"; } print("$s$newline"); } $page = 1; extract($_GET, EXTR_IF_EXISTS); println('<?xml version="1.0" encoding="UTF-8"?>'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Display Character Set (Unicode)—page <?php print($page); ?></title> <style type="text/css"> /* body { background-color: #B2B2B2; font-family: "Arial Unicode MS", Helvetica, Arial, sans-serif; margin: 9px; } */ a { color: #3C9; text-decoration: none; } a:visited { color: #C0734D; } a:hover { color: #F96; text-decoration: underline; } body { margin: 9px; background-color: #333; color: white; font-family: "Arial Unicode MS", Arial, Verdana, sans-serif; font-size: 14px; } table { border-collapse: collapse; width: 702px; } #pages_display { font-family: monospace; margin-bottom: 1em; } #char_display td { width: 40px; height: 2em; border: solid gray 1px; text-align: center; font-size: 1em; } #char_display th { font-family: Verdana; } .clear { clear: both; } #cc_msg { font-size: smaller; margin-top: 2em; text-align: center; width: 702px; } #zoom_box { position: fixed; top: 36px; left: 750px; border: solid black 1px; padding: 12px 0; min-width: 180px; min-height: 180px; background-color: #E5E5E5; color: #333; text-align: center; } </style> <script type="text/javascript"> //<![CDATA[ var currentCell = ""; /** * Converts decimal number to hexadecimal string. * @param {int} d * @return {mixed} if d is a number then return hexadecimal string else return d */ function d2h(d) { return (isNaN(d)) ? d : d.toString(16); } /** * Displays the clicked char in the zoom box; */ function zoom(n, cell) { document.getElementById("zoom_box").innerHTML = "<span style=\"font-size: 100px;\">&#" + n + ";</span><br />" + n + "<br />" + d2h(n).toUpperCase(); if (currentCell) { currentCell.style.backgroundColor = "#CCC"; currentCell.style.color = "black"; } cell.style.color = "black"; cell.style.backgroundColor = "#E5E5E5"; currentCell = cell; } // ]]> </script> </head> <body> <div id="zoom_box"> </div> <h2> Display Character Set (Unicode)—page <?php print($page); ?> </h2> <table border="0" cellspacing="0" cellpadding="0" id="pages_display"> <tr> <td> Pages: </td> <td> <a href="?page=1">1</a> <a href="?page=2">2</a> <a href="?page=3">3</a> <a href="?page=4">4</a> <a href="?page=5">5</a> <a href="?page=6">6</a> <a href="?page=7">7</a> <a href="?page=8">8</a> <a href="?page=9">9</a> <a href="?page=10">10</a> <a href="?page=11">11</a> <a href="?page=12">12</a> <a href="?page=13">13</a> <a href="?page=14">14</a> <a href="?page=15">15</a> <a href="?page=16">16</a><br /> <a href="?page=17">17</a> <a href="?page=18">18</a> <a href="?page=19">19</a> <a href="?page=20">20</a> <a href="?page=21">21</a> <a href="?page=22">22</a> <a href="?page=23">23</a> <a href="?page=24">24</a> <a href="?page=25">25</a> <a href="?page=26">26</a> <a href="?page=27">27</a> <a href="?page=28">28</a> <a href="?page=29">29</a> <a href="?page=30">30</a> <a href="?page=31">31</a> <a href="?page=32">32</a><br /> <a href="?page=33">33</a> <a href="?page=34">34</a> <a href="?page=35">35</a> <a href="?page=36">36</a> <a href="?page=37">37</a> <a href="?page=38">38</a> <a href="?page=39">39</a> <a href="?page=40">40</a> <a href="?page=41">41</a> <a href="?page=42">42</a> <a href="?page=43">43</a> <a href="?page=44">44</a> <a href="?page=45">45</a> <a href="?page=46">46</a> <a href="?page=47">47</a> <a href="?page=48">48</a><br /> <a href="?page=49">49</a> <a href="?page=50">50</a> <a href="?page=51">51</a> <a href="?page=52">52</a> <a href="?page=53">53</a> <a href="?page=54">54</a> <a href="?page=55">55</a> <a href="?page=56">56</a> <a href="?page=57">57</a> <a href="?page=58">58</a> <a href="?page=59">59</a> <a href="?page=60">60</a> <a href="?page=61">61</a> <a href="?page=62">62</a> <a href="?page=63">63</a> <a href="?page=64">64</a> </td> </tr> </table> <table border="0" cellspacing="0" cellpadding="0" id="char_display"> <tr> <th></th> <th colspan="16" style="font-size: smaller; font-weight: normal; text-align: left;"> <p> (Click on character to view.) </p> </th> </tr> <tr> <th></th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th> <th>6</th><th>7</th><th>8</th><th>9</th><th>A</th><th>B</th><th>C</th> <th>D</th><th>E</th><th>F</th> </tr> <?php $end = 1024 * $page; $start = $end - 1024; $line_length = 16; $is1st = TRUE; $td_format = '<td title="&#%s;" onclick="zoom(%s, this);">&#%s;</td>'; for ($i = $start; $i < $end; $i++) { if (($i % $line_length) == 0) { if ($is1st) { $is1st = FALSE; } else { println(); println(' </tr>'); } println(' <tr>'); print(sprintf(' <th>%s_</th>', strtoupper(str_pad(dechex($i / 16), 3, '0', STR_PAD_LEFT)))); } print(sprintf($td_format, $i, $i, $i)); } println(); ?> </tr> </table> <p id="cc_msg"> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" /></a><br /> <span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dct:title" rel="dct:type">Display Character Set</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="www.urchard.com/" property="cc:attributionName" rel="cc:attributionURL">Richard Mitchell</a> is licensed under a<br /> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"> Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License</a>. </p> <script type="text/javascript"> //<![CDATA[ if (document.all) { // document.all.zoom_box.style.marginLeft = "24px"; } // ]]> </script> </body> </html>