=== Accent Letters ===
Contributors: tiwariroshan
Tags: accents, diacritics, characters, unicode, editor
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Insert accented letters at the cursor in the block editor. 682 letters, 55 languages, searchable by letter, language or accent.

== Description ==

Writing a name, a place or a loan word that needs an accent, and your keyboard does not have it?
Accent Letters adds a button to the block editor toolbar that puts the right character exactly
where the cursor is.

It covers **682 accented Latin letters used across 55 languages**, generated from the Unicode
Character Database and CLDR rather than typed by hand, so the names, code points and language lists
are consistent and complete.

**Finding a letter**

The point of the plugin is not the grid — it is not having to hunt through one. You can search by:

* the letter itself, or a plain one: `e` finds é è ê ë ē ĕ ė ę ě
* its name: `e acute`, `o slash`, `c cedilla`
* the accent in plain words: `two dots` finds every diaeresis, `little hook` finds the ogoneks
* the language: `Polish`, `Vietnamese`, `Turkish` — or use the one-click language filters

**What it does not do**

* It does not add markup to your posts. The character is inserted as text, and nothing else changes.
* It does not phone home. Nothing is sent anywhere, and there is no tracking, no account and no
  upsell.
* It does not slow the editor down. The letter data is a separate file that is only fetched the
  first time you open the picker, so the editor loads at its normal speed for everyone who never
  uses it.

Formatting is preserved: insert an accent in the middle of a bold or linked word and it stays part
of that word instead of breaking the formatting in two.

== Installation ==

1. Upload the plugin to `/wp-content/plugins/accent-letters`, or install it through Plugins → Add New.
2. Activate it.
3. Edit any post or page, click into a text block, and choose the **Accent Letters** button in the
   block toolbar.

== Source code and build process ==

This plugin ships its complete, unminified source. `build/index.js` is generated from the files in
`src/`, which are included in the plugin so the compiled asset can be read, modified and rebuilt by
anyone.

* `src/index.js` registers the block editor format type and the toolbar button.
* `src/picker.js` is the letter picker UI.
* `src/insert.js` is the caret insertion logic.
* `src/index.css` is the picker stylesheet.
* `data/letters.json` is the letter data, generated from the Unicode Character Database and CLDR.

To rebuild from source, from the plugin directory:

`npm install`
`npm run build`

That runs `wp-scripts build` (from the official @wordpress/scripts package), which compiles `src/`
into `build/`. No other build tooling is used, and no third-party libraries are bundled: React and
the WordPress packages are loaded as script dependencies rather than included in the file.

== Frequently Asked Questions ==

= Does it work in the classic editor? =

No. It uses the block editor's toolbar and caret, so it needs the block editor (WordPress 6.5 or
newer).

= Does it work in every block? =

It works in any block with rich text — paragraph, heading, list, quote, table cell, caption and so
on.

= Where does the letter data come from? =

From the Unicode Character Database and CLDR, via the same generated dataset used by
accentletters.wiki. It ships with the plugin, so the picker works without a network connection.

= Does it send anything to a third party? =

No. The only request it makes is for its own data file, from your own site.

== Screenshots ==

1. The picker: 682 letters, searchable by letter, name, language or accent.
2. Filtering by language — one click narrows to the letters Polish actually uses.
3. Searching by description — "two dots" finds every letter with a diaeresis.

== Changelog ==

= 1.0.1 =
* Ship the unminified source in the plugin and document the build process, so the compiled asset can be rebuilt by anyone.

= 1.0.0 =
* First release. 682 letters across 55 languages, search by letter, name, accent or language.

== Upgrade Notice ==

= 1.0.0 =
First release.
