chromium/third_party/blink/renderer/core/editing/ime/text_format.idl

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// TextFormat describes how the text in a composition should be styled.

// Spec draft:
// https://w3c.github.io/edit-context/#textformatupdateevent

enum UnderlineStyle { "none", "solid", "dotted", "dashed", "wavy" };
enum UnderlineThickness { "none", "thin", "thick" };

[
  Exposed=Window
] interface TextFormat {
    constructor(optional TextFormatInit options = {});

    readonly attribute unsigned long rangeStart;
    readonly attribute unsigned long rangeEnd;
    readonly attribute UnderlineStyle underlineStyle;
    readonly attribute UnderlineThickness underlineThickness;
};