Showing posts with label standard written form of Cornish. Show all posts
Showing posts with label standard written form of Cornish. Show all posts

Friday, 17 March 2017

Syllable segmentation now available for Standard Written Form Cornish

I have done some more work on the syllable segmentation module of my taklow-kernewek Python software.

I have added regular expressions to process text in the Standard Written Form of Cornish. These are still under testing and may not correctly process all SWF words.

It looks to me like the SWF specification is not currently available at the Cornish Language Office website, it was accessible via the MAGA website which now redirects to the Cornish Language Office, which doesn't appear to link to the SWF specification PDF.

However it is online here: http://kernowek.net/Specification_Final_Version.pdf and the 2014 revisions are here: https://www.cornwall.gov.uk/media/21486879/swf-review-board-final-report.pdf. The SWF dictionary can be accessed as a PDF (pre-revision spelling) or as a website www.cornishdictionary.org.uk, which will soon be revised by Akademi Kernewek.

Peter Jenkin has recently produced some translations of some Welsh songs into Cornish, in FSS Traditional, which I have used to test my new regular expressions.

As an example, this is the translation of Calon Lân (Colon Lan):

Counting number of syllables per word and in each line. "Tecca" should be spelt "Tecka" I believe which will be recognised as 2 syllables, "Precyous" is 2 syllables in the output reproduced at the end of this post. This screenshot was taken before 'cy' was added as a consonant (used in FSS in place of KK 'sh') in the FSS regular expressions.
Full syllable details. The syllable parts have lengths of either 1 (short) or 2 (long) in FSS rather than 1 (short), 2 (half-long vowel / gemminated consonant), 3 (long vowel) in Kemmyn.

The original text in Welsh is:


Calon lân yn llawn daioni,
Tecach yw na'r lili dlos:
Dim ond calon lân all ganu
Canu'r dydd a chanu'r nos.
Nid wy'n gofyn bywyd moethus,
Aur y byd na'i berlau mân:
Gofyn wyf am galon hapus,
Calon onest, calon lân.

Pe dymunwn olud bydol,
Hedyn buan ganddo sydd;
Golud calon lân, rinweddol,
Yn dwyn bythol elw fydd.

Hwyr a bore fy nymuniad 
Gwyd i'r nef ar adain cân
Ar i Dduw, er mwyn fy Ngheidwad,
Roddi i mi galon lân.
with Peter Jenkin's Cornish translation:

Colon lan yw leun a dhadder,
Tecca es lili precyous:
Ny yll saw colon lan cana -
Cana'n jydh ha cana'n nos.

1. Ny wovynnav bewnans pur es,
Owr an bys na'y berlys mann:
Govyn a wrav colon attes,
Colon onest, colon lan.
   
2. Pythow an bys ma, mar mynnen,
Dhe hasen uskis galsa va;
Lanow colon lan yw prest len
A brenvyth prow bynytha.
   
3. Gorthugher, myttin ow mynnas
A neyj war eskelly can -
Troha Duw, a-barth ow Gwithyas,
A ro dhymmo colon lan.


The output showing the number of syllables in each line is:

Colon:2  lan:1  yw:1  leun:1  a:1  dhadder:2  ,:0 
Niver a sylabennow y'n linenn = 8

Tecca:1  es:1  lili:2  precyous:2  ::0 
Niver a sylabennow y'n linenn = 6

Ny:1  yll:1  saw:1  colon:2  lan:1  cana:2  -:0 
Niver a sylabennow y'n linenn = 8

Cana'n:2  jydh:1  ha:1  cana'n:2  nos:1  .:0 
Niver a sylabennow y'n linenn = 7


Niver a sylabennow y'n linenn = 0

1:0  .:0  Ny:1  wovynnav:3  bewnans:2  pur:1  es:1  ,:0 
Niver a sylabennow y'n linenn = 8

Owr:1  an:1  bys:1  na'y:1  berlys:2  mann:1  ::0 
Niver a sylabennow y'n linenn = 7

Govyn:2  a:1  wrav:1  colon:2  attes:2  ,:0 
Niver a sylabennow y'n linenn = 8

Colon:2  onest:2  ,:0  colon:2  lan:1  .:0 
Niver a sylabennow y'n linenn = 7


Niver a sylabennow y'n linenn = 0

2:0  .:0  Pythow:2  an:1  bys:1  ma:1  ,:0  mar:1  mynnen:2  ,:0 
Niver a sylabennow y'n linenn = 8

Dhe:1  hasen:2  uskis:2  galsa:2  va:1  ;:0 
Niver a sylabennow y'n linenn = 8

Lanow:2  colon:2  lan:1  yw:1  prest:1  len:1 
Niver a sylabennow y'n linenn = 8

A:1  brenvyth:2  prow:1  bynytha:3  .:0 
Niver a sylabennow y'n linenn = 7


Niver a sylabennow y'n linenn = 0

3:0  .:0  Gorthugher:3  ,:0  myttin:2  ow:1  mynnas:2 
Niver a sylabennow y'n linenn = 8

A:1  neyj:1  war:1  eskelly:3  can:1  -:0 
Niver a sylabennow y'n linenn = 7

Troha:2  Duw:1  ,:0  a-barth:2  ow:1  Gwithyas:2  ,:0 
Niver a sylabennow y'n linenn = 8

A:1  ro:1  dhymmo:2  colon:2  lan:1  .:0 
Niver a sylabennow y'n linenn = 7

The word "Tecca" should probably be written "Tecka" in SWF/T, where it will have 2 syllables.

The long-form output showing syllable details is shown below. The lengths of vowels are either long (written as 2 units here) or short (1) in the Standard Written Form, rather than long being 3, half-long 2 and short 1 as in Kemmyn.

An ger yw: Colon
Niver a syllabennow yw: 2
Hag yns i: ['Col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: lan
Niver a syllabennow yw: 1
Hag yns i: ['lan']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: yw
Niver a syllabennow yw: 1
Hag yns i: ['yw']
S1: YW, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: leun
Niver a syllabennow yw: 1
Hag yns i: ['leun']
S1: LEUN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: a
Niver a syllabennow yw: 1
Hag yns i: ['a']
S1: a, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: dhadder
Niver a syllabennow yw: 2
Hag yns i: ['dhadd', 'er']
S1: DHADD, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: er, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: Tecca
Niver a syllabennow yw: 1
Hag yns i: ['Te']
S1: TE, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: es
Niver a syllabennow yw: 1
Hag yns i: ['es']
S1: ES, VC, hirder = [2, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: lili
Niver a syllabennow yw: 2
Hag yns i: ['lil', 'i']
S1: LIL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: i, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 5

An ger yw: precyous
Niver a syllabennow yw: 2
Hag yns i: ['precy', 'ous']
S1: PRECY, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: ous, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: Ny
Niver a syllabennow yw: 1
Hag yns i: ['Ny']
S1: Ny, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: yll
Niver a syllabennow yw: 1
Hag yns i: ['yll']
S1: YLL, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: saw
Niver a syllabennow yw: 1
Hag yns i: ['saw']
S1: SAW, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: colon
Niver a syllabennow yw: 2
Hag yns i: ['col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: lan
Niver a syllabennow yw: 1
Hag yns i: ['lan']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: cana
Niver a syllabennow yw: 2
Hag yns i: ['can', 'a']
S1: CAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: a, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 5

An ger yw: Cana'n
Niver a syllabennow yw: 2
Hag yns i: ['Can', "a'n"]
S1: CAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: a'n, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: jydh
Niver a syllabennow yw: 1
Hag yns i: ['jydh']
S1: JYDH, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: ha
Niver a syllabennow yw: 1
Hag yns i: ['ha']
S1: ha, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: cana'n
Niver a syllabennow yw: 2
Hag yns i: ['can', "a'n"]
S1: CAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: a'n, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: nos
Niver a syllabennow yw: 1
Hag yns i: ['nos']
S1: NOS, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: 1
Niver a syllabennow yw: 0
Hag yns i: []
Hirder ger kowal = 0

An ger yw: Ny
Niver a syllabennow yw: 1
Hag yns i: ['Ny']
S1: Ny, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: wovynnav
Niver a syllabennow yw: 3
Hag yns i: ['wov', 'ynn', 'av']
S1: wov, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: YNN, VC, hirder = [1, 1], hirder kowal = 2
S3: av, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 7

An ger yw: bewnans
Niver a syllabennow yw: 2
Hag yns i: ['bewn', 'ans']
S1: BEWN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: ans, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: pur
Niver a syllabennow yw: 1
Hag yns i: ['pur']
S1: PUR, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: es
Niver a syllabennow yw: 1
Hag yns i: ['es']
S1: ES, VC, hirder = [2, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: Owr
Niver a syllabennow yw: 1
Hag yns i: ['Owr']
S1: OWR, VC, hirder = [2, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: an
Niver a syllabennow yw: 1
Hag yns i: ['an']
S1: an, VC, hirder = [2, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: bys
Niver a syllabennow yw: 1
Hag yns i: ['bys']
S1: BYS, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: na'y
Niver a syllabennow yw: 1
Hag yns i: ["na'y"]
S1: NA'Y, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: berlys
Niver a syllabennow yw: 2
Hag yns i: ['berl', 'ys']
S1: BERL, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: ys, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: mann
Niver a syllabennow yw: 1
Hag yns i: ['mann']
S1: MANN, CVC, hirder = [1, 1, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: Govyn
Niver a syllabennow yw: 2
Hag yns i: ['Gov', 'yn']
S1: GOV, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: yn, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: a
Niver a syllabennow yw: 1
Hag yns i: ['a']
S1: a, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: wrav
Niver a syllabennow yw: 1
Hag yns i: ['wrav']
S1: WRAV, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: colon
Niver a syllabennow yw: 2
Hag yns i: ['col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: attes
Niver a syllabennow yw: 2
Hag yns i: ['att', 'es']
S1: ATT, VC, hirder = [1, 1], hirder kowal = 2
S2: es, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 4

An ger yw: Colon
Niver a syllabennow yw: 2
Hag yns i: ['Col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: onest
Niver a syllabennow yw: 2
Hag yns i: ['on', 'est']
S1: ON, VC, hirder = [2, 1], hirder kowal = 3
S2: est, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: colon
Niver a syllabennow yw: 2
Hag yns i: ['col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: lan
Niver a syllabennow yw: 1
Hag yns i: ['lan']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: 2
Niver a syllabennow yw: 0
Hag yns i: []
Hirder ger kowal = 0

An ger yw: Pythow
Niver a syllabennow yw: 2
Hag yns i: ['Pyth', 'ow']
S1: PYTH, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: ow, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 5

An ger yw: an
Niver a syllabennow yw: 1
Hag yns i: ['an']
S1: an, VC, hirder = [2, 1], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: bys
Niver a syllabennow yw: 1
Hag yns i: ['bys']
S1: BYS, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: ma
Niver a syllabennow yw: 1
Hag yns i: ['ma']
S1: ma, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: mar
Niver a syllabennow yw: 1
Hag yns i: ['mar']
S1: mar, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: mynnen
Niver a syllabennow yw: 2
Hag yns i: ['mynn', 'en']
S1: MYNN, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: en, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: Dhe
Niver a syllabennow yw: 1
Hag yns i: ['Dhe']
S1: Dhe, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: hasen
Niver a syllabennow yw: 2
Hag yns i: ['has', 'en']
S1: HAS, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: en, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: uskis
Niver a syllabennow yw: 2
Hag yns i: ['usk', 'is']
S1: USK, VC, hirder = [2, 1], hirder kowal = 3
S2: is, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: galsa
Niver a syllabennow yw: 2
Hag yns i: ['gals', 'a']
S1: GALS, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: a, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 4

An ger yw: va
Niver a syllabennow yw: 1
Hag yns i: ['va']
S1: VA, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: Lanow
Niver a syllabennow yw: 2
Hag yns i: ['Lan', 'ow']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: ow, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 5

An ger yw: colon
Niver a syllabennow yw: 2
Hag yns i: ['col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: lan
Niver a syllabennow yw: 1
Hag yns i: ['lan']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: yw
Niver a syllabennow yw: 1
Hag yns i: ['yw']
S1: YW, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: prest
Niver a syllabennow yw: 1
Hag yns i: ['prest']
S1: PREST, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: len
Niver a syllabennow yw: 1
Hag yns i: ['len']
S1: LEN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: A
Niver a syllabennow yw: 1
Hag yns i: ['A']
S1: A, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: brenvyth
Niver a syllabennow yw: 2
Hag yns i: ['bren', 'vyth']
S1: BREN, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: vyth, CVC, hirder = [1, 1, 1], hirder kowal = 3
Hirder ger kowal = 7

An ger yw: prow
Niver a syllabennow yw: 1
Hag yns i: ['prow']
S1: PROW, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: bynytha
Niver a syllabennow yw: 3
Hag yns i: ['byn', 'yth', 'a']
S1: byn, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: YTH, VC, hirder = [2, 1], hirder kowal = 3
S3: a, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 7

An ger yw: 3
Niver a syllabennow yw: 0
Hag yns i: []
Hirder ger kowal = 0

An ger yw: Gorthugher
Niver a syllabennow yw: 3
Hag yns i: ['Gorth', 'ugh', 'er']
S1: Gorth, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: UGH, VC, hirder = [2, 1], hirder kowal = 3
S3: er, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 8

An ger yw: myttin
Niver a syllabennow yw: 2
Hag yns i: ['mytt', 'in']
S1: MYTT, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: in, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: ow
Niver a syllabennow yw: 1
Hag yns i: ['ow']
S1: ow, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: mynnas
Niver a syllabennow yw: 2
Hag yns i: ['mynn', 'as']
S1: MYNN, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: as, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: A
Niver a syllabennow yw: 1
Hag yns i: ['A']
S1: A, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: neyj
Niver a syllabennow yw: 1
Hag yns i: ['neyj']
S1: NEYJ, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: war
Niver a syllabennow yw: 1
Hag yns i: ['war']
S1: WAR, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: eskelly
Niver a syllabennow yw: 3
Hag yns i: ['esk', 'ell', 'y']
S1: esk, VC, hirder = [1, 1], hirder kowal = 2
S2: ELL, VC, hirder = [1, 1], hirder kowal = 2
S3: y, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 5

An ger yw: can
Niver a syllabennow yw: 1
Hag yns i: ['can']
S1: CAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4

An ger yw: Troha
Niver a syllabennow yw: 2
Hag yns i: ['Tro', 'ha']
S1: TRO, CV, hirder = [1, 2], hirder kowal = 3
S2: ha, CV, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 5

An ger yw: Duw
Niver a syllabennow yw: 1
Hag yns i: ['Duw']
S1: DUW, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: a-barth
Niver a syllabennow yw: 2
Hag yns i: ['a-', 'barth']
S1: A-, V, hirder = [2], hirder kowal = 2
S2: barth, CVC, hirder = [1, 1, 1], hirder kowal = 3
Hirder ger kowal = 5

An ger yw: ow
Niver a syllabennow yw: 1
Hag yns i: ['ow']
S1: ow, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: Gwithyas
Niver a syllabennow yw: 2
Hag yns i: ['Gwith', 'yas']
S1: GWITH, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: yas, CVC, hirder = [1, 1, 1], hirder kowal = 3
Hirder ger kowal = 7

An ger yw: A
Niver a syllabennow yw: 1
Hag yns i: ['A']
S1: A, V, hirder = [2], hirder kowal = 2
Hirder ger kowal = 2

An ger yw: ro
Niver a syllabennow yw: 1
Hag yns i: ['ro']
S1: RO, CV, hirder = [1, 2], hirder kowal = 3
Hirder ger kowal = 3

An ger yw: dhymmo
Niver a syllabennow yw: 2
Hag yns i: ['dhymm', 'o']
S1: DHYMM, CVC, hirder = [1, 1, 1], hirder kowal = 3
S2: o, V, hirder = [1], hirder kowal = 1
Hirder ger kowal = 4

An ger yw: colon
Niver a syllabennow yw: 2
Hag yns i: ['col', 'on']
S1: COL, CVC, hirder = [1, 2, 1], hirder kowal = 4
S2: on, VC, hirder = [1, 1], hirder kowal = 2
Hirder ger kowal = 6

An ger yw: lan
Niver a syllabennow yw: 1
Hag yns i: ['lan']
S1: LAN, CVC, hirder = [1, 2, 1], hirder kowal = 4
Hirder ger kowal = 4





Sunday, 14 August 2016

Transliteration from Kernewek Kemmyn to Standard Written Form

The script treuslytherenna.py and its GUI frontend treuslytherennaGUI.py converts text from Kernewek Kemmyn to Standard Written Form (Main Form).

See also the brief writeup on my website, and earlier on this blog.

A couple of example sentences I use to illustrate some of its features are:

  • Yth esa gwydhenn y'n goeswik
  • Yth esa gwydhennow y'n goeswik

 There was a tree in the forest is the translation of the first sentance, and gwydhennow is the plural of the singlative gwydhenn which derives from the collective noun gwydh (trees). Gwydh would be use for a general mass of trees, gwydhenn a single tree, and gwydhennow a countable collection of individual trees.



In the left hand panel, gwydhenn becomes gwedhen showing two changes, firstly the doubled consonant -nn becomes single -n. The program will make this change for unstressed syllables, exluding those that are prefixes that have secondary stress like penn- in pennseythun and some others.
The other change is the y becoming an e as part of vocalic alternation. This occurs for y vowels that are 'half-long' in Kernewek Kemmyn, which is detected via the syllable segmentation program.
The function converty(inputsyl) in treuslytherenna.py applies this change as long as the word isn't in a list of exceptions given in datageryow.py and the syllable ends in a consonant. If the syllable ends in a vowel (e.g. ay, ey, oy diphthongs, and -ya endings where the y (which is really a semi-vowel y) has been erroneously assigned to the previous syllable) the change is not made.

If backwards segmentation is chosen, this change won't happen since gwydhenn will be segmented into ['gwy', 'dhenn'] and the y will not be changed since it is now in a syllable ending in a vowel.

The word goeswik (mutation of koeswik) becomes goswik, as the Kernewek Kemmyn oe becomes o where it is a short or half-long vowel, and oo in a syllable with a Kernewek Kemmyn long vowel.

In the right hand panel, the word gwydhennow is unchanged, because the y vowel in the first syllable is now short rather than half-long, and the -nn is in a stressed syllable so retained as a double consonant.


Saturday, 23 April 2016

Improvements to Kemmyn to SWF converter

I have now included vocalic alternation in my Kemmyn to SWF converter at my Bitbucket account.

This is the effect where many words that have "yw" in a monosyllable such as "byw" (alive) have "ew" in a 2 sylllable word such as "bewnans" (life). This was originally spelt "bywnans" in Kernewek Kemmyn, though in current Kemmyn, and Standard Written Form it is "bewnans".

I have also implemented the change from yw to uw in words such as Duw. (God)

Words with a stressed 'y' vowel in a polysyllable can also change to 'e', including words such as "benenes" (women). The singular is "benyn", and the plural is "benenes" in SWF, but was "benynes" in Kemmyn (at least until recently, I am not sure exactly which words changed in current Kemmyn, I'll have to find which month's copy of An Gannas it is described in...)

The sylabelenn_ranna_kw module has also been updated a little, to include more abnormally stressed words. 


The revised output is at http://taklowkernewek.neocities.org/kernewekFSS/GwreansAnBysConvertedSWF.txt

If you haven't yet signed the petition encouraging the govenment to continue funding support for the Cornish language, see https://petition.parliament.uk/petitions/128474.

Friday, 22 April 2016

Kernewek Kemmyn to Standard Written Form conversion in Python

The government has recently decided to axe central government funding support for the Cornish language. If you are a British citizen or UK resident, please sign the petition to parliament to reverse this decision, and write to your MP also.

I have recently added a Kernewek Kemmyn to SWF converter on my Bitbucket repository.

It builds on my previous syllable segmentation module, and implements some of the features of SWF insofar as they differ from Kernewek Kemmyn.

I have not yet included vocalic alternation (some KK spellings now use it such as bewnans, lewya. This change was made since the Gerlyver Meur in 2009), the use of 'c' in SWF in words such as cider, cita, or the use of z (which has been added to current KK since the Gerlyver Meur).

See my previous post for links to details of the SWF, including the changes in the 2014 review.

Nevertheless, I will show some sample output, below on a file containing a list of test words, and the beginning of The Creation of the World (Gwreans an Bys).

In most cases, KK "oe" when long becomes "oo", and "o" when half-long or short. There are some exceptions either where SWF has "oo" in a polysyllable (such as skoodhya), or "o" in a monosyllable (oen --> on). These are handled by lists of these words in the code. Of course I expect these are incomplete, and will be added to as and when I have the chance to do more testing.

Some doubled consonants are reduced to single consonants according to various rules. For instance "mm" and "nn" are reduced to "m", and "n" in unstressed syllables, although this doesn't occur for certain prefixes such as "penn" and others that carry secondary stress.

"ll" is usually retained, since the -ell suffix for tool/device now retains the doubled consonant in SWF as of the 2014 review. However there are some other words that reduce to a single l such as arall-->aral, kastell --> kastel. These are dealt with by a list in the code, which again is likely to be incomplete.

"kk" is usually converted to "ck" in SWF, except for a small number of words where it isn't such as bykken, lakka, okkupya, tykki-duw.

python treuslytherenna.py --line testenn2.txt
KK: goen
FSS: goon

KK: poeth
FSS: pooth

KK: poetha
FSS: potha

KK: skoedh
FSS: skoodh

KK: skoedhya
FSS: skoodhya

KK: skoedhyans
FSS: skoodhyans

KK: skoedhyansow
FSS: skodhyansow

KK: omskoedhya
FSS: omskoodhya

KK: diwskoedh
FSS: diwskodh

KK: goelann
FSS: golan

KK: toemm
FSS: tomm

KK: toemmder
FSS: tommder

KK: toemmheans
FSS: tomheans

KK: arloedh
FSS: arlodh

KK: koes
FSS: koos

KK: koeswik
FSS: koswik

KK: koeswigow
FSS: koswigow

KK: roes
FSS: roos

KK: roesweyth
FSS: rosweyth

KK: kesroesweyth
FSS: kesrosweyth

KK: troes
FSS: troos

KK: troesek
FSS: trosek

KK: dewdroes
FSS: dewdros

KK: boes
FSS: boos

KK: boesa
FSS: boosa

KK: degoedh
FSS: degoodh

KK: oes
FSS: oos

KK: oesow
FSS: osow

KK: diboes
FSS: diboos

KK: does
FSS: doos

KK: doesedh
FSS: dosedh

KK: doesedhow
FSS: dosedhow

KK: kettoeth
FSS: kettooth

KK: omdhoen
FSS: omdhon

KK: soedh
FSS: soodh

KK: soedhow
FSS: sodhow

KK: koen
FSS: kon

KK: troen
FSS: tron

KK: oen
FSS: on

KK: woer
FSS: wor

KK: hwoer
FSS: hwor

KK: koer
FSS: kor

KK: noeth
FSS: noth

KK: kamm
FSS: kamm

KK: rann
FSS: rann

KK: pell
FSS: pell

KK: garr
FSS: garr

KK: kammneves
FSS: kammneves

KK: pennglin
FSS: pennglin

KK: pellgowser
FSS: pellgowser

KK: korrdonner
FSS: korrdonner

KK: kemmeres
FSS: kemeres

KK: diwvronn
FSS: diwvron

KK: galloesek
FSS: gallosek

KK: diwarr
FSS: diwar

KK: yeynell
FSS: yeynell

KK: kanstell
FSS: kanstel

KK: karigell
FSS: karigell

KK: kastell
FSS: kastel

KK: trogentrell
FSS: trogentrell

KK: arall
FSS: aral

KK: erell
FSS: erel

KK: tommenn
FSS: tommen

KK: tommennow
FSS: tomennow

KK: tonn
FSS: tonn

KK: tonnek
FSS: tonnek

KK: tonnhys
FSS: tonnhys

KK: tonnhysow
FSS: tonhysow (this is wrong according to http://cornishdictionary.org.uk/browse?field_word_value=tonnhys)

Another set of examples can be shown by transliterating the Kernewek Kemmyn version of the Creation of the World:

KK: Ego sum Alpha et Omega.
FSS: Ego sum Alpha et Omega.

KK: Heb dalleth na diwedhva
FSS: Heb dalleth na diwedhva

KK: pur wir my yw,
FSS: pur wir my yw,

KK: omma a-ji dhe'n kloudys,
FSS: omma a-ji dhe'n kloudys,

KK: war fas an dowr yn sertan,
FSS: war fas an dowr yn sertan,

KK: tri ferson yn unn dywses
FSS: tri ferson yn unn dywses

KK: ow kesreynya bys vykken
FSS: ow kesreynya bys vykken

KK: yn meur enor ha vertu.
FSS: yn meur enor ha vertu.

KK: My ha'w Mab ha'n Spyrys Sans,
FSS: My ha'w Mab ha'n Spyrys Sans,

KK: tri yth on yn unn substans,
FSS: tri yth on yn unn substans,

KK: komprehendys yn unn Dyw.
FSS: komprehendys yn unn Dyw.

KK: FSS:

KK: FSS:

KK: My yw henwys Dyw an Tas,
FSS: My yw henwys Dyw an Tas,

KK: ollgalloesek dres pub tra.
FSS: ollgallosek dres pub tra.

KK: Skon y fydh gwrys der ow ras
FSS: Skon y fydh gwrys der ow ras

KK: nev, plas rial dhe'm trigva,
FSS: nev, plas rial dhe'm trigva,

KK: ha'w thron-sedha ow bodh yw
FSS: ha'w thron-sedha ow bodh yw

KK: may fo henna.
FSS: may fo henna.

KK: Ha'n nor ynwedh a-woeles
FSS: Ha'n nor ynwedh a-woles

KK: skon orth kompas a vydh gwrys.
FSS: skon orth kompas a vydh gwrys.

KK: Honna a vydh ow skavell droes
FSS: Honna a vydh ow skavell droos

KK: rag ow plesour pup-prys,
FSS: rag ow plesour pup-prys,

KK: ha dhe'm enor maga ta.
FSS: ha dhe'm enor maga ta.

KK: Nev omma yw gwrys genev,
FSS: Nev omma yw gwrys genev,

KK: orth ow dywses yn sertan.
FSS: orth ow dywses yn sertan.

KK: Hag ynni y fydh gorrys
FSS: Hag ynni y fydh gorrys

KK: neb a'm gordh gans joy ha kan.
FSS: neb a'm gordh gans joy ha kan.

KK: Naw ordyr eledh gloryus
FSS: Naw ordyr eledh gloryus

KK: i a vydh, rial ha splann,
FSS: i a vydh, rial ha splann,

KK: kannasow dhymm dannvenys
FSS: kanasow dhymm danvenys

KK: rag ow servya bys vykken.
FSS: rag ow servya bys vykken.

KK: My a vynn may fons nevra.
FSS: My a vynn may fons nevra.

KK: FSS:

KK: FSS:

KK: Lemmyn pub Ordyr dh'y se
FSS: Lemmyn pub Ordyr dh'y se

KK: my a vynn may fo gorrys,
FSS: my a vynn may fo gorrys,

KK: ha pub onan dh'y dhegre
FSS: ha pub onan dh'y dhegre

KK: a vydh gorrys dhe'm servis
FSS: a vydh gorrys dhe'm servis

KK: pan vynnav vy kommondya.
FSS: pan vynnav vy komondya.

KK: Omma nessa dhe'm tron vy
FSS: Omma nessa dhe'm tron vy

KK: an kynsa tri a vydh gwrys.
FSS: an kynsa tri a vydh gwrys.

KK: Cherubyn, an ughella
FSS: Cherubyn, an ughella

KK: ty a vydh. Deus a-rag uskis;
FSS: ty a vydh. Deus a-rag uskis;

KK: Serafyn, ynwedh Tronys.
FSS: Serafyn, ynwedh Tronys.

KK: Ow gordhya oll hwi a wra,
FSS: Ow gordhya oll hwi a wra,

KK: par dell yw ow bodh nevra,
FSS: par dell yw ow bodh nevra,

KK: omma pub prys.
FSS: omma pub prys.

KK: Ha ty, Lusifer golow,
FSS: Ha ty, Lusifer golow,

KK: yndella yw dha hanow.
FSS: yndella yw dha hanow.

KK: 'Ugh pub el ty a ese'
FSS: 'Ugh pub el ty a ese'

KK: FSS:

KK: FSS:

KK: An kynsa Ordyr ty yw.
FSS: An kynsa Ordyr ty yw.

KK: Gwayt ow gordhya war bub tu,
FSS: Gwayt ow gordhya war bub tu,

KK: dhiso jy par dell goettha.
FSS: dhiso jy par dell gottha.

KK: Y'n sekond degre y fydh gwrys
FSS: Y'n sekond degre y fydh gwrys

KK: tri Ordyr moy, yn sertan.
FSS: tri Ordyr moy, yn sertan.

KK: Deus a-rag dhymm, Prynsipatys.
FSS: Deus a-rag dhymm, Prynsipatys.

KK: Ty a 'sedh omma poran,
FSS: Ty a 'sedh omma poran,

KK: Potestas y'n barth arall,
FSS: Potestas y'n barth aral,

KK: Domynashyon y'n tu ma,
FSS: Domynashyon y'n tu ma,

KK: ow praysya hag ow lawdya
FSS: ow praysya hag ow lawdya

KK: dhe'm hanow nevra heb gil.
FSS: dhe'm hanow nevra heb gil.

KK: A'n tressa degre a-woeles
FSS: A'n tressa degre a-woles

KK: my a wra tri Ordyr moy.
FSS: my a wra tri Ordyr moy.

KK: Argheledh, Ordyr pur vras,
FSS: Argheledh, Ordyr pur vras,

KK: dewgh a-rag omma dhe vy,
FSS: dewgh a-rag omma dhe vy,

KK: ha Vertutys kekeffrys.
FSS: ha Vertutys kekeffrys.

KK: FSS:

KK: Ha'n eledh, y'n barth dheghow
FSS: Ha'n eledh, y'n barth dheghow

KK: hwi a 'sedh omma heb gow.
FSS: hwi a 'sedh omma heb gow.

KK: Dhymm y fydhowgh kannasow,
FSS: Dhymm y fydhowgh kanasow,

KK: hag a wrewgh ow arghadow
FSS: hag a wrewgh ow arghadow

KK: gans joy bras ha kan pub prys.
FSS: gans joy bras ha kan pub prys.

KK: Lemmyn pan yw dhymmo gwrys
FSS: Lemmyn pan yw dhymmo gwrys

KK: nev ha nor orth bodh ow brys,
FSS: nev ha nor orth bodh ow brys,

KK: ha'n naw ordyr kollenwys
FSS: ha'n naw ordyr kollenwys

KK: ha'n kynsa jorna spedys,
FSS: ha'n kynsa jorna spedys,

KK: my a's soen gans ow ganow,
FSS: my a's soon gans ow ganow,

KK: FSS:

KK: FSS:

KK: hag a vynn diyskynna
FSS: hag a vynn diyskynna

KK: dhe'n nor yn-dann an kloudys,
FSS: dhe'n nor yn-dann an kloudys,

KK: hag ow bodh guthyl ena
FSS: hag ow bodh guthyl ena

KK: my a vynn, may fo gwelys
FSS: my a vynn, may fo gwelys

KK: ow bosa Dyw heb parow.
FSS: ow bosa Dyw heb parow.

KK: Lemmyn y'n sekond jorna
FSS: Lemmyn y'n sekond jorna

KK: gwrav Braster a-dhesempis.
FSS: gwrav Braster a-dhesempis.

KK: Y'n ebrenn eus a-wartha
FSS: Y'n ebren eus a-wartha

KK: my a vynn bos golow gwrys
FSS: my a vynn bos golow gwrys

KK: hag ynwedh bos diberthva
FSS: hag ynwedh bos diberthva

KK: sur ynter an jydh ha'n nos.
FSS: sur ynter an jydh ha'n nos.

KK: Ny fyll dhymm konduk a dra
FSS: Ny fyll dhymm konduk a dra

KK: war an bys der ow galloes.
FSS: war an bys der ow gallos.

KK: An mor bras yn kott termyn
FSS: An mor bras yn kott termyn

KK: a-dro dhe'm tir a vydh dres,
FSS: a-dro dhe'm tir a vydh dres,

KK: rag y witha pur ylyn
FSS: rag y witha pur ylyn

KK: orth harlotri prest pub prys.
FSS: orth harlotri prest pub prys.

KK: FSS:

KK: FSS:

KK: An tressa dydh my a wra
FSS: An tressa dydh my a wra

KK: dhe'n gwydh sevel yn-ban,
FSS: dhe'n gwydh sevel yn-ban,

KK: ha doen delyow teg ha da
FSS: ha doon delyow teg ha da

KK: ha flourys hweg, yn sertan.
FSS: ha flourys hweg, yn sertan.

KK: Ow bolonjedh yw henna,
FSS: Ow bolonjedh yw henna,

KK: may tokkons ynna pur splann
FSS: may tockons ynna pur splann

KK: frutys dhe'm bodh, rag maga
FSS: frutys dhe'm bodh, rag maga

KK: seul a dheg bywnans hogen.
FSS: seul a dheg bywnans hogen.

KK: Y'n peswara dydh bydh gwrys
FSS: Y'n peswara dydh bydh gwrys

KK: an howl ha'n loer yn tevri,
FSS: an howl ha'n loor yn tevri,

KK: ha'n ster ynwedh kekeffrys,
FSS: ha'n ster ynwedh kekeffrys,

KK: rag gul golow vynari.
FSS: rag gul golow vynari.

KK: An re ma yw fin gonedhys.
FSS: An re ma yw fin gonedhys.

KK: Ow bennath y rov dhedha.
FSS: Ow bennath y rov dhedha.

KK: Y'n pympes dydh, orth ow brys,
FSS: Y'n pympes dydh, orth ow brys,

KK: an puskes, heb falladow,
FSS: an puskes, heb falladow,

KK: hag oll an ydhyn keffrys,
FSS: hag oll an ydhyn keffrys,

KK: my a's gwra dhe'm plegadow,
FSS: my a's gwra dhe'm plegadow,

KK: hag oll an bestes y'n bys,
FSS: hag oll an bestes y'n bys,

KK: gans pryves a bub sortow.
FSS: gans pryves a bub sortow.

KK: An re ma yw oll teg gwrys.
FSS: An re ma yw oll teg gwrys.

KK: My a's soen warbarth, heb gow.
FSS: My a's soon warbarth, heb gow.

KK: FSS:

KK: Peace, I say, oll eledh nev!
FSS: Pea, I say, oll eledh nev!

KK: Goslowewgh dhe vy lemmyn!
FSS: Goslowewgh dhe vy lemmyn!

KK: Krysewgh ow bosa pryns krev,
FSS: Krysewgh ow bosa pryns krev,

KK: hag ynwedh dhy'hwi chyften,
FSS: hag ynwedh dhy'hwi chyften,

KK: byghan ha bras.
FSS: byghan ha bras.

KK: FSS:

KK: FSS:

KK: Lusifer yw ow hanow,
FSS: Lusifer yw ow hanow,

KK: pennsevik yn nev omma.
FSS: pennsevik yn nev omma.

KK: Ow howetha yw tanow.
FSS: Ow howetha yw tanow.

KK: hwi a woer yn ta henna,
FSS: hwi a wor yn ta henna,

KK: ow bosav gwell es an Tas.
FSS: ow bosav gwell es an Tas.

KK: My yw lantern nev, ywis
FSS: My yw lantern nev, ywis

KK: avel tan ow kolowi,
FSS: avel tan ow kolowi,

KK: moy splanna es an Drynses.
FSS: moy splanna es an Drynses.

KK: Henna degewgh hwi dustuni,
FSS: Henna degewgh hwi dustuni,

KK: ow bosav pryns pur loryus.
FSS: ow bosav pryns pur loryus.

KK: Oll gans owr ow terlentri
FSS: Oll gans owr ow terlentri

KK: yth esov, heb dout y'n kas.
FSS: yth esov, heb dout y'n kas.

KK: Splanna es an howl devri,
FSS: Splanna es an howl devri,

KK: hwi a yll warbarth gweles
FSS: hwi a yll warbarth gweles

KK: ow bosav, sertan pub prys.
FSS: ow bosav, sertan pub prys.

KK: Ny vynnav orth el namoy
FSS: Ny vynnav orth el namoy

KK: FSS:

KK: FSS:

KK: dos dhe'm stat marnas my.
FSS: dos dhe'm stat marnas my.

KK: Henna yw ow thowl, devri.
FSS: Henna yw ow thowl, devri.

KK: Maga fras ov avel Dyw.
FSS: Maga fras ov avel Dyw.

KK: My a gommond war bub tu
FSS: My a gommond war bub tu

KK: myns eus yn nev dhe'm gordhya.
FSS: myns eus yn nev dhe'm gordhya.

KK: Eledh oll, hwi a glywas,
FSS: Eledh oll, hwi a glywas,

KK: pandr'a gewsowgh dhymm lemmyn?
FSS: pandr'a gewsowgh dhymm lemmyn?

KK: Dell nag o'ma polat bras?
FSS: Dell nag o'ma polat bras?

KK: Gorthybewgh hwi oll, pub onan.
FSS: Gorthybewgh hwi oll, pub onan.

KK: Hwi a woer pyth o'ma.
FSS: Hwi a wor pyth o'ma.

KK: An Tas gallas alemma.
FSS: An Tas gallas alemma.

KK: My a dewl ny dheu omma
FSS: My a dewl ny dheu omma

KK: bys vykken mara kallav.
FSS: bys vykken mara kallav.

KK: FSS:

KK: Lusifer, ty yw henna
FSS: Lusifer, ty yw henna

KK: sur a bass myns eus yn nev.
FSS: sur a bass myns eus yn nev.

KK: Kreatys nobyl omma
FSS: Kreatys nobyl omma

KK: yth o'ta a natur krev,
FSS: yth o'ta a natur krev,

KK: ha my a'n krys.
FSS: ha my a'n krys.

KK: Sur rakhenna dhe'th enora
FSS: Sur rakhenna dhe'th enora

KK: my a vynn, 'ugh an Drynses.
FSS: my a vynn, 'ugh an Drynses.

KK: FSS:

KK: Ty greatur unkinda,
FSS: Ty greatur unkinda,

KK: erbynn dha Vaker ow kows!
FSS: erbyn dha Vaker ow kows!

KK: Prederi prag na wre'ta
FSS: Prederi prag na wre'ta

KK: y feusta gwrys, ty was lows,
FSS: y feusta gwrys, ty was lows,

KK: gans Dyw omma?
FSS: gans Dyw omma?

KK: Ganso pan wres komparya
FSS: Ganso pan wres komparya

KK: meur dhe vlamya yth osta
FSS: meur dhe vlamya yth osta

KK: ha paynys y'fydh ragdho.
FSS: ha paynys y'fydh ragdho.

The full output can be found at http://taklowkernewek.neocities.org/kernewekFSS/GwreansAnBysConvertedSWF.txt