DiGrande.it
Braille and Technologies for Visual Impairment

Tactile Graphics Language

Welcome to the Official bTactile Manual, the tactile graphics language developed within the Biblos environment. This high-level programming tool is a landmark in the creation of accessible graphic content, enabling the design and generation of vector-based diagrams intended for tactile printing and use by blind and visually impaired individuals.

bTactile is an elegant and powerful language, designed to make tactile graphics an expressive and technical domain accessible to all. Thanks to its intuitive syntax and declarative logic, bTactile allows for the creation of precise, scalable, and reusable visual-tactile representations, suitable for educational, scientific, artistic, and communicative contexts.

Manual Objectives:

- Introduce the fundamentals of the bTactile language, illustrating its philosophy, structure, and intended use.

- Describe in detail the syntax, semantics, and main commands of the language.

- Guide users through the creation of effective tactile graphics via concrete and progressive examples.

- Promote digital inclusion by making graphic production accessible even to those who cannot rely on visual perception.

This manual is designed to be accessible both to those approaching programming for the first time and to users with technical experience who wish to explore the full potential of the language. Each concept is introduced progressively and supported by clear explanations, applied examples, and practical tips for effective and informed use.

This manual is intended for:

- Educators and practitioners involved in teaching blind or visually impaired students;

- Technicians and transcribers engaged in producing tactile materials;

- Experienced blind users seeking to explore new accessible programming languages;

- Developers and designers aiming to integrate inclusive graphic solutions into their projects.

bTactile stands as an outstanding achievement in the field of accessible graphics: a unique language that combines simplicity, precision, and expressive power. Its development is part of Biblos's mission to break down digital barriers and promote truly inclusive tools.

Both the language and this manual are in continuous development. Each update reflects user experience, collected feedback, and emerging needs in the field of tactile and accessible communication.

bTactile and this manual were designed and developed by Giuseppe Di Grande, who holds all copyright and publishing rights, in any form and by any means. Reproduction, even in part, is prohibited without the explicit permission of the author.

Table of Contents

  1. Introduction to the Language of Tactile Graphics
  2. The variables
  3. The numbers
  4. The arithmetic operators
  5. The constants
  6. Logical operators
  7. The procedures
  8. The functions
  9. Relational operators
  10. If conditional control
  11. The For cycle
  12. The While cycle
  13. All Instructions
    1. Abs- Returns the absolute value of a number
    2. Arc- Draws an arc
    3. ArcB- Draws an arc through three points
    4. ArcTan- Returns the arctangent of a number
    5. ArcTan2- Returns the angle between the X-axis and a segment of a line
    6. Braille- Draws a braille text
    7. BrailleHeight- Returns the height in points of the braille string
    8. BrailleType- Sets the characteristics of braille text
    9. BrailleWidth- Returns the width in points of the braille string
    10. Brush- Sets a brush type
    11. CharToNum- Converts the character into its Unicode code
    12. Chord- Draws a chord
    13. ChordB- Draw a chord through three points
    14. Circle- Draws a circle
    15. ColorBrush- Sets the brush color
    16. ColorPen- Sets the pen color
    17. Cos- Returns the cosine of an angle
    18. DegToRad- Converts angle from degrees to radians
    19. Dot- Draws or detects the color of a point
    20. Ellipse- Draws an ellipse
    21. Exp- Returns natural logarithm elevated to power
    22. Fill- Fills a surface
    23. Font- Sets a font type
    24. FontName- Sets the name of the current font
    25. FontSize- Sets the size of the current font
    26. FontStyle- Sets the style of the current font
    27. Frac- Returns the fractional portion of a number
    28. FrX- Returns the percentage fraction of the width of the graph
    29. FrY- Returns the percentage fraction of the height of the graph
    30. GraphicCrop- Crop the image to the chosen size
    31. GraphicOffset- Sets an offset to drawing coordinates
    32. GraphicOrigin- Sets the origin point of rotation
    33. GraphicRotate- Rotate entire graph
    34. GraphicScale- Changing the scale factors of the graph
    35. GraphicSize- Change the size and appearance of the graph
    36. GraphicTransparent- Changing the type of image transparency
    37. InsertPicture- Inserts an image into the graph
    38. Int- Returns the entire part of a number
    39. Line- Draws a line
    40. Ln- Returns the natural logarithm of a number
    41. Max- Returns the percentage fraction greater than the size of the graph
    42. Mid- Returns the average percentage fraction of the graph size
    43. Min- Returns the smallest percentage fraction of the graph size
    44. MsgBox- Shows a message box
    45. NumToChar- Converts the Unicode code into its character
    46. NumToString- Converts number to string
    47. OpenPicture- Opens an image
    48. Pen- Sets a pen type
    49. Polygon- Draws a polygon
    50. Polyline- Draws a series of lines
    51. PolyReg- Draws a regular polygon
    52. Pow- Returns number elevated to power
    53. RadToDeg- Converts angle from radians to degrees
    54. Random- Returns a random number
    55. Rectangle- Draws a rectangle
    56. Root- Returns the root of a number
    57. Round- Returns the rounded value of a number
    58. SavePicture- Save the picture
    59. Sin- Returns the sine of an angle
    60. Spline- Draw a quadratic curve of Bezier
    61. Square- Draws a square
    62. StringCopy- Returns a part of a string
    63. StringDelete- Deletes a part of a string and returns the remaining string
    64. StringLeft- Returns a substring from the left side of the string
    65. StringLength- Returns the length of a string
    66. StringLower- Returns the string with the letters in lower case
    67. StringRight- Returns a substring by taking it from the right side of the string
    68. StringToNum- Converts the string into a numerical value
    69. StringTrim- Returns the string without the initial and final spaces
    70. StringUpper- Returns the string with all letters in upper case
    71. Tan- Returns the tangent of an angle
    72. Text- Draws a text
    73. TextHeight- Returns the height in points of the string
    74. TextWidth- Returns the width of the string in points
    75. Triangle- Draws a triangle
    76. Trunc- Returns the truncated value of a number
    77. TurtlePos- Place and orient the turtle in the plane
    78. TurtleRight- Turn the turtle to the right
    79. TurtleLeft- Turn the turtle to the left
    80. TurtleForward- Makes the turtle walk forward
    81. TurtleBackward- Makes the turtle walk backwards
    82. VectorToDeg- From a vector returns the angle in degrees
    83. VectorToRad- From a vector returns the angle in radians