﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2015, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: ky_ky_FONIPA.txt
# Generated from CLDR 
#

::Lower;
::NFC;

$consonant_sound = [bdfɡklmnŋpqrʁsʃtvzʒχ];

аа → ɑː;
а  → ɑ;
б  → b;
в  → v;
{г} [аоуы]  → ʁ;
г  → ɡ;
дж → d\u0361ʒ;  # eg. Джамадан
дд → dː;
д  → d;
[$] {е} → je;  # at the beginning of a word
е  → e;
ё  → jo;  # appears only in loanwords
ж  → d\u0361ʒ;
з  → z;
ии → iː;
и  → i;
й  → j;
кк → kː;
[$] {к} [еёиɵүю] → ɡ;    # eg. кирет, кишиден, келди
{к} [аоуы] → q;          # eg. чокусу, факультетин, нукура
[ɑouɯ] ː? {к} → q;       # eg. Исак, Бирок, Кутлук, Ферганалык
[y] $consonant_sound+ ː? {к} [$] → k; # eg. мүлк, түрк
$consonant_sound {к} [$] → q; # eg. даңк, калк, кырк
[ŋ] {к} → q;
к → k;

[eøy] ː? {л}к → lʲ;  # eg. мүлк, күлкү, өлкө, эзелки

лл → lː;
л  → l;
мм → mː;
м  → m;
нн → nː;
н  → n;
ң  → ŋ;
оо → oː;
о  → o;
өө → øː;
ө  → ø;
п  → p;
р  → r;
сс → sː;
с  → s;
тт → tː;
тч → t\u0361ʃ;    # eg. екетчилерден
т  → t;
уу → uː;
у  → u;
үү → yː;
ү  → y;
ф  → f;     # only in loanwords
х  → χ;
ц  → t\u0361s;    # only in loanwords
ч  → t\u0361ʃ;
ш  → ʃ;
щ  → ʃ t\u0361ʃ;  # only in loanwords
ъ  → ;      # no phonemic value; appears only in loanwords
ы  → ɯ;
ь  → ;      # no phonemic value; appears only in loanwords
ээ → eː;
э  → e;
ю  → ju;
я  → jɑ;
