|
9 | 9 |
|
10 | 10 | **Latest stable release: https://github.com/mapcode-foundation/mapcode-cpp/releases** |
11 | 11 |
|
12 | | -# The C/C++ Library: `mapcodelib/` |
| 12 | +## The C/C++ Library: `mapcodelib/` |
13 | 13 |
|
14 | 14 | The directory 'mapcodelib' contains the files: |
15 | 15 |
|
@@ -45,7 +45,7 @@ In that case, basics.h will state a version number of the for: |
45 | 45 | where "xxx" states the geographical limitation. |
46 | 46 |
|
47 | 47 |
|
48 | | -# A Real-Life Example, The 'mapcode' Codec Tool: `utility/` |
| 48 | +## A Real-Life Example, The 'mapcode' Codec Tool: `utility/` |
49 | 49 |
|
50 | 50 | The directory 'utility' contains a Mapcode encoding/decoding utility, as an example |
51 | 51 | of how to use the library. |
@@ -121,15 +121,38 @@ This produces the following help text: |
121 | 121 | The result code is 0 when no error occurred, 1 if an input error occurred and 2 |
122 | 122 | if an internal error occurred. |
123 | 123 |
|
124 | | -If you use **Microsoft Visual C++**, you may need to add the following defines to your preprocessor |
125 | | -settings: |
| 124 | +## Compile Options for Microsoft Visual C++ |
126 | 125 |
|
127 | | - NO_POSIX_THREADS |
128 | | - _CRT_SECURE_NO_WARNINGS |
129 | | - _CRT_NONSTDC_NO_DEPRECATE |
| 126 | +If you use **Microsoft Visual C++**, you may need to add the following compiler directives to your build: |
130 | 127 |
|
| 128 | + -DNO_POSIX_THREADS |
| 129 | + -D_CRT_SECURE_NO_WARNINGS |
| 130 | + -D_CRT_NONSTDC_NO_DEPRECATE |
131 | 131 |
|
132 | | -# Release Notes |
| 132 | +## Reducing the Footprint of the Mapcode Library |
| 133 | + |
| 134 | +The Mapcode C/C++ Library has includes a number of fixed data tables, which increase its footprint. |
| 135 | +You may not require all of this data, so we've added some options for you to be able to reduce its |
| 136 | +footprint, for example for embedded applications. |
| 137 | + |
| 138 | +### Removing Alphabet Support: NO_SUPPORT_ALPHABETS |
| 139 | + |
| 140 | +By default, support is included for multiple alphabets (or scripts) other than Roman, such as Greek, |
| 141 | +Cyrillic, Hebrew, Arabic, Chinese and many, many more. This means you can encode and decode mapcodes |
| 142 | +in such scripts (in UTF16). |
| 143 | + |
| 144 | +You can disabled alphabet support by adding the following compiler directive: |
| 145 | + |
| 146 | + -DNO_SUPPORT_ALPHABETS |
| 147 | + |
| 148 | +### Removing Fast Encoding Support: NO_FAST_ENCODE |
| 149 | + |
| 150 | +By default, encoding is optimized by the use of a additional data table (approx. 12K). You can |
| 151 | +remove this table from the library by adding the compiler directive: |
| 152 | + |
| 153 | + -DNO_FAST_ENCODE |
| 154 | + |
| 155 | +## Release Notes |
133 | 156 |
|
134 | 157 | ### 2.4.1 |
135 | 158 |
|
|
0 commit comments