---
# System prepended metadata

title: macOS keyboard

---

{%hackmd theme-dark %}
# macOS keyboard

## macOS use HTML Entity instead of Unicode

*  **Unicode** -> **HTML Entity**
`U+00E4` -> `&#x00E4;`


## Letters

| Capital | Small | C Unicode | S Unicode | C HTML     | S HTML     |
| ------- | ----- | --------- | --------- | ---------- | ---------- |
| Ä       | ä     | `U+00C4`  | `U+00E4`  | `&#x00C4;` | `&#x00E4;` |
| Ċ       | ċ     | `U+010A`  | `U+010B`  | `&#x010A;` | `&#x010B;` |
| Ç       | ç     | `U+00C7`  | `U+00E7`  | `&#x00C7;` | `&#x00E7;` |
| Ç̇      | ç̇    | `U+0307`  |           | `&#x0307;` |            |
| Ə       | ə     | `U+018F`  | `U+0259`  | `&#x018F;` | `&#x0259;` |
| Ġ       | ġ     | `U+0120`  | `U+0121`  | `&#x0120;` | `&#x0121;` |
| K̇      | k̇    | `U+0307`  |           | `&#x0307;` |            |
| Ŋ       | ŋ     | `U+014A`  | `U+014B`  | `&#x014A;` | `&#x014B;` |
| Ö       | ö     | `U+00D6`  | `U+00F6`  | `&#x00D6;` | `&#x00F6;` |
| Ṗ       | ṗ     | `U+1E56`  | `U+1E57`  | `&#x1E56;` | `&#x1E57;` |
| Q̇      | q̇    | `U+0307`  |           | `&#x0307;` |            |
| Ş       | ş     | `U+015E`  | `U+015F`  | `&#x015E;` | `&#x015F;` |
| Ṫ       | ṫ     | `U+1E6A`  | `U+1E6B`  | `&#x1E6A;` | `&#x1E6B;` |
| Ü       | ü     | `U+00DC`  | `U+00FC`  | `&#x00DC;` | `&#x00FC;` |
| Ẋ       | ẋ     | `U+1E8A`  | `U+1E8B`  | `&#x1E8A;` | `&#x1E8B;` |
| Ƶ       | ƶ     | `U+01B5`  | `U+01B6`  | `&#x01B5;` | `&#x01B6;` |



## Icons

### Script to generate `.icns` file from `.png`

```bash=
#!/bin/bash

input_filepath="chechen_latin_layout_1024x1024.png"
output_iconset_name="chechen_latin_layout.iconset"
mkdir $output_iconset_name

sips -z 16 16     $input_filepath --out "${output_iconset_name}/icon_16x16.png"
sips -z 32 32     $input_filepath --out "${output_iconset_name}/icon_16x16@2x.png"
sips -z 32 32     $input_filepath --out "${output_iconset_name}/icon_32x32.png"
sips -z 64 64     $input_filepath --out "${output_iconset_name}/icon_32x32@2x.png"
sips -z 128 128   $input_filepath --out "${output_iconset_name}/icon_128x128.png"
sips -z 256 256   $input_filepath --out "${output_iconset_name}/icon_128x128@2x.png"
sips -z 256 256   $input_filepath --out "${output_iconset_name}/icon_256x256.png"
sips -z 512 512   $input_filepath --out "${output_iconset_name}/icon_256x256@2x.png"
sips -z 512 512   $input_filepath --out "${output_iconset_name}/icon_512x512.png"

iconutil -c icns $output_iconset_name

rm -R $output_iconset_name
```