4. Inequality and interval notations

Note 4. Linear inequality relationship (with shaded regions).
1. jsxgraph has limited ability to display the solution set of a linear inequality (less than or equal to). The area drawn will be the area below this line. With the attribute inverse:true, the inequality ‘greater than or equal to’ is shown. This function needs to include dashed line to indicate less than or greater than case. The filling area can be specified as a color gradient with opacity. The gradient can be linear or radial. To support black-and-white pdf documents, an area pattern is required to show the solution of a system of linear inequalities in traditional textbook fashion. jsxgraph does not seem to support area pattern drawing but an image can be tiled and rotated for this purpose. This replacement needs to work for all slopes (negative, positive, 0 or horizontal, and undefined or vertical).
2. Line drawing can be created by ‘function’ of a linear equation or by ‘line’. Set the opacity to 0 or visible:false for testing purposes. Functions are invoked as Javascript objects with required parameters passed as standard array (enclosed in square brackets []) and optional keyword:value parameters enclosed in brackets {}.
3. The image width and height are scaled to the user coordinates (dimensions of the bounding box). The image is displayed based upon the position of the bottom left corner and the rotation angle (slope of the line).
4. <svg> tag is not working properly.
5. Parameters of an object property initialized in a bracket area (parameters of the bounding box such as [left,rtop,right, bottom] or rotate angle) need to be dynamically computed. Use eval seems to work for this requirement. top seems to be a reserved word.(This browser does not support inline SVG).
6. Rotate the copyright text by 90° counterclockwise. Text with HTML/css formatting using <span> tag does not work. Use setAttribute() instead of the deprecated alias setProperty(). If the HTML symbol is desired, use an pre-rendered image instead. The rotation can be deferred with ‘transform’ and board update. The display attribute is default to ‘html’ and needs to set to ‘internal’ for transformation to work.
7. Get the image size from javascript. img.naturalWidth and Height are unstable for larger image (probably loading time issue since dimensions are 0). A safe fallback using the default with and height of 390×450 pixels.
8. Fill the inside of an arbitrary shape with color pattern using layer mask. This option is not implemented at the moment.
9. Convert this script to standard Javascript class/object with constructor, methods and attributes for function and property overloading. Properties are defined in the function intialization.
10. Testing on Firefox mostly, also on Safari, Chrome, and limited testing on Internet Explorer. Debug/verify Javascript syntax and logic issues on Firefox’s Web Console with Javascript sprintf library. Make sure that there is no warning or error of any kind produced in the console window. Set a flag to disable all diagnostic messages after testing is complete. Certain Javascript syntax works on Firefox and Safari but does not work on Chrome (do not pass the attributes in brackets directly but use name reference instead.
11. Javascript libraries used in this test: jsxgraphcore.js, MathJax.js, and sprintf.js. The power symbol ^ cannot be used in function generation as with sage.
12. <br> is needed when rendering each document page with webkit’s wkhtmltopdf. Use css @font-face syntax to choose specific fonts such as Bitstream Charter. Font directory needs to be defined at /usr/share/fonts/default/. Font formats may include GhostScript, Windows TrueType, or PostScript Type1. The page layout, margin, placement of contents can be specified accurately with units of cm. Appropriate footer and page number can also be included using the <div> tag and absolute positioning with measurements units in cm or in. sprintf and debug script needs to be removed if these interactive scripts are not needed and may cause incompatibility issues. Since HTML does not provide page break support, page breaking needs to be done manually. wkhtmltopdf can perform limited page break but the result is less than satisfactory.
13. Depening upon editing options, WordPress may add line break tags <br> automatically when a line feed is used. This feature needs to be considered while porting source lines to wkhtmltopdf.
14. The css margin-left:15% can be used to center the jsxgraph rendering.
15. The following class properties are available: debug, inverse,