# windows: Introduce \`Direct Write\` \(\#10119\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/11a3d2b04b2d36a9804106a9ab55b613ba6f9ae4)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 11a3d2b04b2d36a9804106a9ab55b613ba6f9ae4

Requested commit: 11a3d2b04b2d36a9804106a9ab55b613ba6f9ae4

Commit: 11a3d2b04b2d36a9804106a9ab55b613ba6f9ae4

Tree: a2d73bc5d57daf76668a5e0c566e3dbcf897f174

Author: 张小白

Committer: GitHub

## Message

```
windows: Introduce `Direct Write` (#10119)

This PR brings `Direct Write` to Zed. Now, Zed first trys to query
dwrite interface, if not supported, which means runing on Windows below
win10 1703), will choose `cosmic` as a fallback text system.

This direct write text system supports:
- Full font features support
- Emoji support
- Default system fonts as fallback

### Font features


https://github.com/zed-industries/zed/assets/14981363/198eff88-47df-4bc8-a257-e3acf81fd61d

### Emoji

![Screenshot 2024-04-03
211354](https://github.com/zed-industries/zed/assets/14981363/a5bc5845-42e8-4af1-af7e-abba598c1e72)

**Note: input emoji through IME or IMM not working yet, copy paste emoji
works fine (will be fixed by #10125 )**

### Font fallback

I use `Zed mono` which dose not support chinese chars to test font
fallback



https://github.com/zed-industries/zed/assets/14981363/c97d0847-0ac5-47e6-aa00-f3ce6d1e50a5



Release Notes:

- N/A
```

## Parents

- [1127b1a0deb2821c4cc688417ccb9348da65ef48](https://git.cafe/gitcafe/zed/commit/1127b1a0deb2821c4cc688417ccb9348da65ef48?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/11a3d2b04b2d36a9804106a9ab55b613ba6f9ae4?format=markdown)
