EBOOK-CONVERT(1)

NAME
ebook-convert - ebook-convert

ebook-convert ficheiro_entrada ficheiro_saída [opções]

Converte um formato de livro digital noutro formato

ficheiro_entrada (input_file) é a fonte e o ficheiro_saída (output_file) é o resultado final. Os dois devem ser especificados como os dois primeiros argumentos para o comando.

O formato do resultado final é calculado através da extensão de ficheiro do ficheiro_saída. O ficheiro_saída pode ter também o formato especial .EXT onde EXT é a extensão do ficheiro de saída. Neste caso, o nome do formato do ficheiro de saída é derivado do nome do ficheiro de entrada. Note que o nome do ficheiro não pode começar com um hífen. Finalmente, se ficheiro_saída não tiver extensão, então será tratado como pasta e será gravado nessa pasta um "livro digital aberto" (OEB) composto por ficheiros HTML. Estes ficheiros são os ficheiros que normalmente seriam passados pelo plugin de saída.

Depois de especificar o ficheiro de entrada e o de saída poderá personalizar a conversão através da especificação de várias opções. As opções disponíveis dependem dos tipos de ficheiro de entrada e do de saída. Para obter ajuda neste tópico indique o ficheiro de entrada e o de saída seguido da opção -h .

Para obter a documentação completa do sistema de conversão veja Conversão de livros digitais

Sempre que passar argumentos para o ebook-convert que contenham espaços ponha-os entre aspas. Por exemplo: "/some path/with spaces"

As opções e os valores das opções variam dependendo simultaneamente do formato de entrada e saída. Assim você deve sempre verificar com:

ebook-convert myfile.input_format myfile.output_format -h

Abaixo estão as opções que são comuns a todas as conversões, seguidas das opções especificas a cada formato de entrada e saída.

•   OPÇÕES DE ORIGEM

•   OPÇÕES DE DESTINO

•   VISUAL

•   PROCESSAMENTO HEURÍSTICO

•   PESQUISAR E SUBSTITUIR

•   DETEÇÃO DE ESTRUTURA

•   ÍNDICE

•   METADADOS

•   DEPURAR

--help, -h
    mostrar esta mensagem de ajuda e sair

--input-profile
    Especificar o perfil de origem. O perfil de origem indica ao sistema de conversão sobre como interpretar várias informações no documento de origem. Por exemplo, comprimentos dependentes da resolução (i. e. comprimento em píxeis). Escolhas disponíveis: cybookg3, cybook_opus, default, hanlinv3, hanlinv5, illiad, irexdr1000, irexdr800, kindle, msreader, mobipocket, nook, sony, sony300, sony900

--list-recipes
    Listar nomes incorporados das receitas. Poderá criar um livro digital a partir das receitas criadas como em: ebook-convert "Nome da receita.receita" output.epub

--output-profile
    Especifica o perfil de saída. O perfil de saída indica ao sistema de conversão como otimizar o documento criado para o dispositivo especificado. Em alguns casos, um perfil de saída pode ser utilizado para otimizar a saída para um dispositivo em particular, mas isso raramente é necessário. As escolhas são:cybookg3, cybook_opus, default, generic_eink, generic_eink_hd, generic_eink_large, hanlinv3, hanlinv5, illiad, ipad, ipad3, irexdr1000, irexdr800, jetbook5, kindle, kindle_dx, kindle_fire, kindle_oasis, kindle_pw, kindle_pw3, kindle_scribe, kindle_voyage, kobo, msreader, mobipocket, nook, nook_color, nook_hd_plus, pocketbook_inkpad3, pocketbook_lux, pocketbook_hd, pocketbook_900, pocketbook_pro_912, galaxy, sony, sony300, sony900, sony-landscape, sonyt3, tablet

--version
    mostrar o número da versão do programa e sair

OPÇÕES DE ORIGEM

Opções para controlar o processamento do ficheiro de origem mobi

--input-encoding
    Especifica a codificação de caracteres para o documento de origem. Se definida, esta opção irá sobrepor-se a qualquer codificação declarada no documento. Particularmente útil em documentos que não declaram uma codificação ou que possuem declarações de codificação erradas

OPÇÕES DE DESTINO

Opções para controlar o processamento do ficheiro de destino epub

--dont-split-on-page-breaks
    Desligar a separação nas quebras de página. Normalmente os ficheiros de origem são automaticamente separados, nas quebras de página, em dois ficheiros. Isto faz com que o livro de destino seja analisado mais rapidamente e ocupando menos recursos. No entanto a separação é um processo lento e se o seu ficheiro de origem tiver muitas quebras de página deve desligar a separação nas quebras de página.

--epub-flatten
    Esta opção só é necessária se pretende utilizar EPUB com o FBReaderJ. Vai remover a estrutura de ficheiros do formato EPUB colocando todas as imagens no nível de topo.

--epub-inline-toc
    Inserir um índice incorporado que irá aparecer como parte do conteúdo principal do livro.

--epub-max-image-size
    O tamanho máximo da imagem (largura x altura). Um valor de none significa utilizar o tamanho do ecrã do perfil de saída. Um valor de profile significa que nenhum tamanho máximo é especificado. Por exemplo, um valor de 100x200 fará com que todas as imagens sejam redimensionadas de tal maneira que a sua largura não tenha mais do que 100 pixéis e a sua altura não tenha mais do que 200 pixéis. Note que isto apenas afeta o tamanho real dos ficheiros de imagem. Qualquer imagem pode ser exibida num tamanho diferente dependendo do estilo que lhe for aplicado no documento.

--epub-toc-at-end
    Colocar o índice incorporado no final do livro em vez de no início.

--epub-version
    A versão do ficheiro EPUB a ser gerado. O EPUB 2 é o mais compatível, use apenas o EPUB 3 se achar que realmente precisa dele.

--extract-to
    Extrai o conteúdo do ficheiro EPUB gerado para a pasta especificada. O conteúdo da pasta especificada, é eliminado primeiro, portanto, tenha cuidado.

--flow-size
    Dividir todos os ficheiros HTML maiores que este tamanho (em KB). Isto é necessário porque a maioria dos leitores EPUB não lida bem com ficheiros muito grandes. A predefinição de 260KB é o tamanho requerido por Adobe Digital Editions. Definir para 0 para desativar a divisão baseada no tamanho.

--no-default-epub-cover
    Normalmente, se o ficheiro de origem não tem capa, e se não especificar uma, será gerada uma capa predefinida com o título, autores, etc. Esta opção desativa a criação dessa capa.

--no-svg-cover
    Não utilizar SVG para a capa do livro. Utilize esta opção se o seu EPUB for utilizado num dispositivo que não suporte SVG, como o iPhone o JetBook Lite. Sem esta opção estes dispositivos mostrarão uma capa em branco.

--preserve-cover-aspect-ratio
    Quando utilizar uma capa SVG, esta opção permite esticar a capa para a área do ecrã disponível mas preservando o aspeto (proporção largura/altura). Isto significa que podem surgir margens brancas nos lados ou no topo e fundo da imagem mas a imagem não será distorcida.

--pretty-print
    Se especificado, o plugin de saída irá tentar criar um ficheiro o mais próximo possível da leitura humana. Poderá não produzir alterações em alguns plugins de saída.

--toc-title
    Título para qualquer índice incorporado gerado.

VISUAL

Opções para controlar o visual e funcionamento do ficheiro de destino

--asciiize
    Transliterar caracteres Unicode para uma representação em ASCII. Utilize com cuidado porque irá substituir os caracteres Unicode por ASCII. Por exemplo, irá substituir "Pelé" por "Pele". Note também que em certos casos onde existem representações múltiplas de um carácter (por exemplo caracteres partilhados pelo Chinês e Japonês) será utilizada a representação baseada no idioma da interface atual do Calibre.

--base-font-size
    O tamanho base do tipo de letra em pts. Todos os tamanhos dos tipos de letra no livro produzido vão ser alterados proporcionalmente, baseados neste tamanho. Ao escolher um tamanho maior os tipos de letra no ficheiro de destino serão maiores e vice versa. Por predefinição, se o valor for zero, o tamanho base do tipo de letra é escolhido baseado no perfil de destino que escolheu.

--change-justification
    Mudar justificação do texto. Um valor de "left" vai converter todo o texto justificado no original para texto com alinhamento à esquerda (ou seja, sem justificação). Um valor de "justify" converte todo o texto sem justificação para justificado. Um valor de "original" (a predefinição) não altera a justificação no ficheiro fonte. Tenha em conta que apenas alguns formatos de saída suportam a justificação de texto.

--disable-font-rescaling
    Desativar a alteração proporcional do tamanho dos tipos de letra.

--embed-all-fonts
    Incorporar todos os tipos de letra referenciada no documento de entrada, mas que ainda não foram incorporadas. Isto irá procurar no seu sistema por tipo de letra, e se as encontrar, irá incorporá-las. A incorporação só irá funcionar se o formato que está a converter suporta letras incorporadas, p.ex. EPUB, AZW3, DOCX ou PDF. Por favor, garanta que tem a licença adequada para incorporar os tipos de letra utilizadas neste documento.

--embed-font-family
    Incorporar a família tipográfica especificada no livro. Isto especifica o tipo de letra base a ser utilizada pelo livro. Se o documento de entrada especificar os seus próprios tipos de letra, eles poderão sobrescrever o tipo de letra base. Pode usar a opção de filtragem de informação de estilos para remover os tipos de letra do documento de entrada. Note que a incorporação de tipos de letra só funciona com certos formatos de saída, principalmente com EPUB, AZW3 e DOCX.

--expand-css
    Por predefinição, o Calibre vai usar o modo abreviado para várias propriedades CSS como margem, espaçamento, contorno, etc. Esta opção fará com que use a forma expandida. Note que o CSS é sempre expandido ao gerar ficheiros EPUB com o perfil de saída definido para um dos perfis do Nook, porque o Nook não permite CSS abreviado.

--extra-css
    O caminho para a folha de estilos CSS ou CSS em bruto. Este CSS vai ser adicionado às regras de estilo do ficheiro de origem de modo a ser usado para se sobrepor a essas regras.

--filter-css
    Uma lista separada por vírgulas de propriedades CSS que serão removidas de todas as regras de estilo do CSS. Isto é útil se a presença de informações de alguns estilos impede o estilo de ser anulado no seu dispositivo. Por exemplo: font-family,color,margin-left,margin-right

--font-size-mapping
    Mapeamento dos nomes dos tipos de letra CSS para tamanhos em pts. Um exemplo de definição é 12,12,14,16,18,20,22,24. Estes são os mapeamentos para os tamanhos xx-small até xx-large, sendo o tamanho final o maior. O algoritmo de alteração proporcional dos tipos de letra usa estes tamanhos para alterar de forma inteligente o tamanho dos tipos de letra. A predefinição é usar um mapeamento baseado no perfil de destino que escolheu.

--insert-blank-line
    Inserir uma linha em branco entre os parágrafos. Não funciona se o ficheiro de origem não usar parágrafos (etiquetas <p> ou <div>).

--insert-blank-line-size
    Definir a altura das linhas inseridas em branco (valores 'em'). A altura das linhas entre parágrafos será duas vezes o tamanho definido aqui.

--keep-ligatures
    Preserva as ligaturas presentes no documento de entrada. Uma ligatura é um formato especial para mostrar um par de caracteres tal como ff, fi, fl, etc. A maioria dos leitores não têm suporte para ligaturas nos seus tipos de letra predefinidos e não conseguem mostrá-las corretamente. Por predefinição, o Calibre irá transformar uma ligatura no seu par correspondente de caracteres normais. Esta opção irá preservar as ligaturas.

--line-height
    A altura da linha em pontos. Controlar espaçamento entre linhas consecutivas de texto. Apenas aplicar elementos que não definam a sua própria altura de linha. Na maioria dos casos, é mais útil usar a opção de altura mínima de linha. Por predefinição não será feita qualquer manipulação da altura de linha.

--linearize-tables
    Alguns documentos mal paginados usam tabelas para controlar a disposição do texto na página. Quando convertidos, estes documentos apresentam texto que sai para fora da página bem como outros problemas. Esta opção extrai o conteúdo das tabelas e apresenta-o de uma forma linear.

--margin-bottom
    Definir a margem inferior em pts. A predefinição é 5.0. Definir este valor para 0 irá fazer com que nenhuma margem seja definida (as margens do documento original serão preservadas). Nota: formatos já com medidas da páginas pré-estabelecidas como PDF e DOCX já têm as sua próprias definições de margem determinadas.

--margin-left
    Definir a margem esquerda em pts. A predefinição é 5.0. Definir este valor para 0 irá fazer com que nenhuma margem seja definida (as margens do documento original serão preservadas). Nota: formatos já com medidas da páginas pré-estabelecidas como PDF e DOCX já têm as sua próprias definições de margem determinadas e que têm precedência.

--margin-right
    Definir a margem direita em pts. A predefinição é 5.0. Definir este valor para 0 irá fazer com que nenhuma margem seja definida (as margens do documento original serão preservadas). Nota: formatos já com medidas da páginas pré-estabelecidas como PDF e DOCX já têm as sua próprias definições de margem determinadas.

--margin-top
    Definir a margem superior em pts. A predefinição é 5.0. Definir este valor para 0 irá fazer com que nenhuma margem seja definida (as margens do documento original serão preservadas). Nota: formatos já com medidas da páginas pré-estabelecidas como PDF e DOCX já têm as sua próprias definições de margem determinadas e que têm precedência.

--minimum-line-height
    A altura mínima da linha, como percentagem calculada a partir do tamanho de letra do elemento. O Calibre irá assegurar-se que cada elemento tem um altura de linha de pelo menos o valor aqui definido, independentemente do que o documento ativo especificar. Defina com Zero para desativar isto. A predefinição é 120% . Use de preferência esta definição em vez da especificação direta da altura de linha, a não ser que saiba exatamente o que está a fazer. Por exemplo, pode obter texto com "espaço duplo" se definir isto com 240.

--remove-paragraph-spacing
    Remover o espaçamento entre parágrafos. Também define uma indentação nos parágrafos de 1.5em. A remoção do espaçamento não funciona se o ficheiro de origem não usar parágrafos (etiquetas <p> ou <div>).

--remove-paragraph-spacing-indent-size
    Quando o Calibre remove linhas em branco entre parágrafos, insere automaticamente uma indentação de parágrafo para garantir que os parágrafos sejam facilmente distinguíveis. Esta opção controla o tamanho desse avanço (unidade de medida "em"). Se inserir um valor negativo, será utilizado o avanço especificado no documento, o que significa que o Calibre não modificará a indentação.

--smarten-punctuation
    Converter aspas simples, hífenes e reticências para os seus equivalentes tipográficos. Para detalhes, ver https://daringfireball.net/projects/smartypants

--subset-embedded-fonts
    Segmentar todos os tipos de letra incorporadas. Todos os tipos de letra incorporados serão reduzidas para conter apenas os símbolos utilizados no documento. Isto diminui o tamanho dos ficheiros de tipos de letra. È particularmente útil se estiver a incorporar um tipo de letra pesado e com muitos símbolos não utilizados.

--transform-css-rules
    Caminho para um ficheiro que contém as regras para transformar os estilos CSS neste livro. O modo mais fácil de criar este ficheiro é usar o Assistente para criar regras na interface gráfica do Calibre. Para tal, aceda à secção "Aparência->Transformar estilos" do diálogo de conversão. Uma vez criadas as regras, pode usar o botão "Exportar" para as guardar num ficheiro.

--transform-html-rules
    Caminho para um ficheiro que contém as regras para transformar o HTML neste livro. O modo mais fácil de criar este ficheiro é usar o Assistente para criar regras na interface gráfica do Calibre. Para tal, aceda à secção "Aparência->Transformar HTML" do diálogo de conversão. Uma vez criadas as regras, pode usar o botão "Exportar" para as guardar num ficheiro.

--unsmarten-punctuation
    Converter citações elegantes, traços e reticências aos seus equivalentes simples.

PROCESSAMENTO HEURÍSTICO

Modifique o texto do documento e a sua estrutura usando padrões comuns. Desativada por predefinição. Usar --enable-heuristics para ativar. Ações individuais podem ser desativadas com as opções --disable-* .

--disable-dehyphenate
    Analisa o documento por palavras que contenham hífenes. O documento será utilizado como um dicionário para determinar se os hífenes devem ser mantidos ou removidos.

--disable-delete-blank-paragraphs
    Remover parágrafos vazios do documento quando estão entre outros parágrafos

--disable-fix-indents
    Transforma a indentação criada a partir de espaços impartíveis múltiplos em indentações CSS.

--disable-format-scene-breaks
    Marcadores de quebra de cena alinhados à esquerda são centrados. Substituir quebras de cenas suaves que usam várias linhas em branco por linhas horizontais.

--disable-italicize-common-cases
    Pesquisar por palavras comuns e padrões que denotam itálicos e tornar esse texto itálico

--disable-markup-chapter-headings
    Detetar cabeçalhos e subcabeçalhos de capítulos sem formatação. Trocá-los para etiquetas h2 e h3. Esta opção não irá criar um índice, mas pode ser utilizada juntamente com a estrutura de deteção para o criar.

--disable-renumber-headings
    Pesquisar por ocorrências de etiquetas html <h1> ou <h2>. As etiquetas serão renumeradas para evitar divisões no meio de cabeçalhos de capítulos.

--disable-unwrap-lines
    Unifique as linhas usando pontuação e outras pistas de formatação.

--enable-heuristics
    Ativar o processamento heurístico. Esta opção deve ser ativada para que o processamento heurístico ocorra.

--html-unwrap-factor
    Escala utilizada para determinar o tamanho em que uma linha deve ter as quebras eliminadas. Valores válidos são decimais entre 0 e 1. A predefinição é 0.4, um pouco abaixo do tamanho médio de uma linha. Se apenas algumas linhas do documento precisam de quebras eliminadas, este valor deve ser reduzido.

--replace-scene-breaks
    Substitui quebras de lógica no texto especificado. Pelas definições, o texto do documento já escrito será usado.

PESQUISAR E SUBSTITUIR

Modificar o texto e estrutura do documento de acordo com padrões definidos pelo utilizador.

--search-replace
    Caminho para um ficheiro que contém expressões de pesquisa e substituição comuns. O ficheiro deve conter linhas alternadas de expressão comum seguida do padrão de substituição (que pode ser uma linha vazia). As expressões regulares devem estar na sintaxe Python regex e o ficheiro deve estar codificado em UTF-8.

--sr1-replace
    Substituição para substituir o texto encontrado com a sr1-search

--sr1-search
    Padrão de pesquisa (expressão regular) a ser substituído por um sr1-replace

--sr2-replace
    Substituição para substituir o texto encontrado com a sr2-search

--sr2-search
    Padrão de pesquisa (expressão regular) a ser substituído pela sr2-replace

--sr3-replace
    Substituição para substituir o texto encontrado com a sr3-replace

--sr3-search
    Padrão de pesquisa (expressão regular) a ser substituído pela sr3-replace

DETEÇÃO DE ESTRUTURA

Controlar a deteção automática da estrutura do documento.

--chapter
    Uma expressão XPath para apagar os títulos dos capítulos. A predefinição é considerar as etiquetas <h1> ou <h2> que contém as palavras "capítulo","livro","secção", "prólogo", "epilogo" ou "parte" como títulos de capítulos assim como quaisquer etiquetas que tenham class="chapter". A expressão usada deve avaliar uma lista de elementos. Para desativar a deteção de capítulos, use a expressão "/". Veja o tutorial do XPath no Manual do Utilizador do Calibre para mais ajudas no uso desta função.

--chapter-mark
    Especificar como marcar os capítulos detetados. Um valor "quebra de página" vai inserir quebras de página antes dos capítulos. Um valor "regra" vai inserir uma linha antes dos capítulos. Um valor "nenhum" vai desativar a marcação de capítulos e um valor "ambos" irá usar tanto quebras de página como linhas para marcar os capítulos.

--disable-remove-fake-margins
    Alguns documentos especificam tamanhos de margem direita e esquerda individualmente para cada parágrafo. O Calibre tentará detetar e remover estas margens. Alguma vezes, isso pode causar a remoção indevida de margens. Neste caso, pode desativar a remoção.

--insert-metadata
    Inserir os metadados no início do livro. Isto é útil se o seu leitor não suporta apresentar/pesquisar os metadados diretamente.

--page-breaks-before
    Uma expressão XPath. Serão inseridas quebras de página antes dos elementos especificados. Para desativar use a expressão: /

--prefer-metadata-cover
    Usar a capa detetada no ficheiro de origem em vez da capa especificada.

--remove-first-image
    Remover a primeira imagem do livro especificado. Útil se o documento especificado possui uma imagem de capa não reconhecida como tal. Se tal existir, e no caso desta opção não ter sido especificada, quando definir uma capa no Calibre o documento gerado ficará com duas imagens de capa.

--start-reading-at
    Uma expressão XPath para detetar a localização no documento a partir do qual se deve iniciar a leitura. Alguns programas de leitura de livros digitais (como por exemplo o Kindle) usam esta localização como posição para abertura do livro. Veja o tutorial do XPath no Manual do Utilizador do Calibre para mais ajuda no uso desta função.

ÍNDICE

Controlar a geração automática de um índice. Por predefinição, se o ficheiro de origem tiver um índice, este é utilizado em vez do gerado automaticamente.

--duplicate-links-in-toc
    Quando criar um índice a partir de hiperligações no documento de entrada, permitir entradas duplicadas. Por ex: permitir mais de uma entrada com o mesmo texto, desde que apontem para localizações diferentes.

--level1-toc
    Expressão XPath que especifica todas as etiquetas que deverão ser adicionadas ao primeiro nível do índice. Se isto for especificado, terá precedência em relação a outras formas de deteção automática. Consulte o tutorial do XPath no Manual do utilizador do Calibre para exemplos.

--level2-toc
    Expressão XPath que especifica todas as etiquetas que deverão ser adicionadas no segundo nível do índice . Cada entrada será adicionada abaixo da entrada anterior do nível um. Consulte o tutorial do XPath no Manual do Utilizador do Calibre para exemplos.

--level3-toc
    Expressão XPath que especifica todas as etiquetas que deverão ser adicionadas no Índice do terceiro nível. Cada entrada será adicionada abaixo da entrada anterior no nível dois. Consulte o tutorial do XPath no Manual do Utilizador do Calibre para exemplos.

--max-toc-links
    Número máximo de atalhos a inserir no índice. Definir para 0 para desativar. A predefinição é: 50. Os atalhos só são adicionados ao índice se forem detetados menos que o limite de capítulos.

--no-chapters-in-toc
    Não adicionar ao Índice os capítulos detetados automaticamente.

--toc-filter
    Remove as entradas do Índice cujos títulos correspondem à expressão regular especificada. As entradas correspondentes e as suas dependentes são removidas.

--toc-threshold
    Se forem detetados menos capítulos do que este número, os atalhos serão adicionados ao índice. A predefinição é: 6

--use-auto-toc
    Normalmente, se o ficheiro de origem já tem um Índice este é utilizado em vez do gerado automaticamente. Com esta opção o gerado automaticamente é sempre utilizado.

METADADOS

Opções para definir os metadados no ficheiro de saída

--author-sort
    Expressão a ser usada quando ordenar por autor.

--authors
    Definir os autores. Múltiplos autores devem ser separados por um e comercial (ampersand).

--book-producer
    Definir o produtor do livro.

--comments
    Definir a descrição do livro.

--cover
    Define a capa para o ficheiro de imagem especificado ou de um URL

--isbn
    Definir ISBN do livro.

--language
    Definir idioma.

--pubdate
    Definir a data de publicação (esta é assumida no fuso horário local, a menos que um fuso horário seja explicitamente especificado)

--publisher
    Definir a editora do livro.

--rating
    Definir a pontuação. Deve ser um algarismo entre 1 e 5.

--read-metadata-from-opf, --from-opf, -m
    Ler os metadados do ficheiro OPF especificado. Os metadados lidos deste ficheiro vão sobrepor-se aos metadados no ficheiro de origem.

--series
    Definir a série a que este livro pertence.

--series-index
    Definir o índice do livro nesta série.

--tags
    Definir as etiquetas do livro. Deve ser uma lista separada por vírgulas.

--timestamp
    Definir a marca temporal do livro (algo já em desuso)

--title
    Definir o título.

--title-sort
    A versão do título a ser usada para a alfabetação.

DEPURAR

Opções para ajudar com a depuração da conversão

--debug-pipeline, -d
    Guarda o resultado, na pasta especificada, dos diferentes estágios da cadeia de conversão. Será útil se não tem a certeza em que etapa do processo de conversão é que está a ocorrer o erro.

--verbose, -v
    Nível de verbosidade. Especifique múltiplas vezes para aumentar a verbosidade. Se especificar duas vezes obterá uma verbosidade completa, uma vez terá uma verbosidade média e zero vezes uma verbosidade mínima.

AUTHOR
Kovid Goyal

COPYRIGHT
Kovid Goyal