···120120 },
121121 {
122122 "type": "string",
123123- "description": "Pitch level of each mora with H representing high and L representing low. For example: HHLL for a 4 mora word.",
123123+ "description": "Pitch level of each mora with H representing high and L representing low. For example: HHLL for a 4 mora word. Add an additional pitch level at the end to explicitly define the suffix.",
124124 "pattern": "^[HL]+$"
125125 }
126126 ]
+5-1
ext/js/display/pronunciation-generator.js
···330330 * @returns {string}
331331 */
332332 _pitchValueToPattJJ(numberOfMora, pitchValue) {
333333- if (typeof pitchValue === 'string') { return pitchValue + pitchValue[pitchValue.length - 1]; }
333333+ if (typeof pitchValue === 'string') {
334334+ // the suffix may be set in the dictionary explicitly by appending an extra value
335335+ const pitchValueExtended = pitchValue + pitchValue[pitchValue.length - 1];
336336+ return pitchValueExtended.slice(0, numberOfMora + 1);
337337+ }
334338 if (numberOfMora >= 1) {
335339 if (pitchValue === 0) {
336340 // Heiban