BRPI0907464B1 - Método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória - Google Patents
Método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória Download PDFInfo
- Publication number
- BRPI0907464B1 BRPI0907464B1 BRPI0907464-3A BRPI0907464A BRPI0907464B1 BR PI0907464 B1 BRPI0907464 B1 BR PI0907464B1 BR PI0907464 A BRPI0907464 A BR PI0907464A BR PI0907464 B1 BRPI0907464 B1 BR PI0907464B1
- Authority
- BR
- Brazil
- Prior art keywords
- editing surface
- window
- document
- editing
- text
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória tecnologias são descritas neste documento para editar um documento usando uma superfície de edição transitória. um programa de processamento de texto exibe um documento em uma janela. mediante detecção da colocação de um indicador de inserção dentro de um parágrafo de texto no documento, uma superfície de edição é criada encobrindo o parágrafo na janela e contendo o conteúdo do parágrafo encoberto. entrada de usuário é monitorada pelo programa de processamento de texto enquanto a edição do conteúdo é processada por meio da superfície de edição. quando edição está completa, o conteúdo modificado da superfície de edição é copiado no documento me a superfície de edição é destruída.
Description
Relatório Descritivo da patente de Invenção para MÉTODO PARA EDITAR UMA PARTE DE TEXTO DE UM CONTEÚDO DE UM DOCUMENTO, MÍDIA DE ARMAZENAMENTO DE COMPUTADOR E MÉTODO PARA FORNECER UMA SUPERFÍCIE DE EDIÇÃO TRANSITÓRIA
ANTECEDENTES [001] Aplicações de processamento de texto têm sido tradicionalmente softwares autônomos instalados em um computador pessoal que fornecem funcionalidade rica de edição e formatação para documentos armazenados em arquivos locais ou baseados em rede. Estas aplicações de uma maneira geral são muito grandes, exigindo muitos megabytes de espaço de unidade para instalação. A recente tendência, entretanto, é para desenvolvimento colaborativo de documentos por usuários distintos remotamente que podem não ter acesso às mesmas aplicações de processamento de texto autônomas e onde os documentos podem ser armazenados em redes remotas acessíveis através da Internet. Isto tem levado ao desenvolvimento de programas de processamento de texto que podem ser entregues por meio de um navegador de Rede de Alcance Mundial (rede) convencional, permitindo assim que documentos remotos sejam editados por usuários sem a necessidade de instalar um processador de texto autônomo tradicional.
[002] Um método de fornecer funcionalidade de processamento de texto baseada em rede envolve desenvolver páginas de rede que utilizam os recursos de edição disponíveis em muitos programas de navegador de rede. Este método tem a vantagem de ser pequeno e rápido e exige muito pouco esforço de desenvolvimento. Entretanto, os recursos de edição limitados fornecidos por estes navegadores de rede de uma maneira geral não podem ser comparados com as ricas capacidades de recursos de processadores de texto autônomos tradi
Petição 870190050714, de 30/05/2019, pág. 4/39
2/23 cionais. Além disso, os recursos de edição disponíveis podem variar entre os diferentes programas de navegador de rede, tornando assim difícil fornecer uma experiência de usuário consistente por meio de todos os navegadores de rede.
[003] Um outro método de fornecer funcionalidade de processamento de texto baseada em rede é implementar um programa de processamento de texto completo que é executado dentro de um navegador usando uma tecnologia de tempo de execução compatível com todos os navegadores tal como a JAVA da SOL MICROSYSTEMS, FLASH da ADOBE SYSTEMS, ou a Asynchronous JavaScript e XML (AJAX). Embora permitindo ao desenvolvedor completo controle sobre os recursos e capacidades do programa, este método de uma maneira geral envolve um considerável esforço de desenvolvimento e exige implementação de funcionalidade de edição de nível inferior, tal como a renderização de texto em uma janela tal como digitado pelo usuário, o movimento de um cursor intermitente através do texto, ou o constante refluxo do conteúdo da janela em que o usuário digita. Além do mais, por causa de o programa de processamento de texto ser executado em uma tecnologia de tempo de execução baseada em navegador, ele frequentemente é lento em execução e pode não ser capaz de fornecer uma interface de usuário responsiva adequadamente.
[004] É com relação a estas e outras considerações que a revelação feita neste documento é apresentada.
SUMÁRIO [005] Tecnologias são descritas neste documento para implementar um programa processador de texto modelo de edição híbrido para execução em um navegador de rede. Em particular, o programa de processamento de texto é implementado em uma tecnologia de tempo de execução compatível com todos os navegadores e fornece um rico conjunto de recursos de edição comparável àquele de proces
Petição 870190050714, de 30/05/2019, pág. 5/39
3/23 sadores de texto autônomos tradicionais. Entretanto, o programa de processamento de texto utiliza alguns dos recursos de edição fornecidos pelo navegador de rede para implementar a funcionalidade de edição de nível inferior. Em particular, o programa de processamento de texto usa o navegador de rede para fornecer uma superfície de edição que aceita mudanças de usuário para blocos individuais de texto ou parágrafos. A superfície de edição é transitória em que ela está ativa somente enquanto necessária para fornecer os recursos de edição de texto de nível inferior para o usuário.
[006] De acordo com um aspecto apresentado neste documento, um documento dentro de um navegador de rede pode ser editado usando uma superfície de edição transitória. Sob este aspecto, um programa de processamento de texto executando no navegador de rede exibe o documento em uma janela de navegador. O programa de processamento de texto detecta a colocação de um indicador de inserção dentro de um parágrafo de texto no documento, tal como por um usuário clicando com um mouse dentro do texto ou ao usar as teclas de navegação de um teclado para navegar para o parágrafo. Quando a colocação do indicador de inserção é detectada, o programa de processamento de texto cria uma superfície de edição encobrindo o parágrafo no documento. Isto pode ser realizado ao adicionar um elemento de superfície de edição ao documento posicionado na mesma localização e do mesmo tamanho que o parágrafo encoberto, enquanto tornando o parágrafo encoberto invisível. Em um aspecto, o elemento de superfície de edição pode ser um elemento IFRAME de Linguagem de Marcação de Hipertexto (HTML). O conteúdo do parágrafo encoberto é copiado na superfície de edição.
[007] O programa de processamento de texto monitora então entrada de usuário na janela de navegador, permitindo que certa entrada seja manuseada diretamente pela superfície de edição, enquanto in
Petição 870190050714, de 30/05/2019, pág. 6/39
4/23 terceptando outra entrada para manuseio pelo programa de processamento de texto. De acordo com um aspecto, o programa de processamento de texto passa entrada de tecla de letra, número e de pontuação do teclado diretamente para a superfície de edição enquanto interceptando cliques de mouse ou teclas de navegação, tais como página abaixo ou página acima. A superfície de edição processa a entrada de usuário, permitindo assim ao usuário efetuar mudanças no conteúdo contido dentro dela.
[008] O programa de processamento de texto monitora a superfície de edição à medida que ele processa a entrada de usuário para determinar se um refluxo da superfície de edição é exigido. Por exemplo, mudanças no conteúdo dentro da superfície de edição podem necessitar de uma mudança no tamanho ou na posição da superfície de edição na janela de navegador. Se um refluxo for exigido, o conteúdo modificado da superfície de edição é copiado de volta no documento, e o navegador de rede é forçado a renderizar novamente o documento na página. A nova posição e o novo tamanho do parágrafo encoberto são então determinados e a superfície de edição é reposicionada e redimensionada para casar com a nova posição e com o novo tamanho do parágrafo encoberto. Quando edição está completa, o conteúdo modificado da superfície de edição é copiado de volta no documento, a superfície de edição é destruída, e o parágrafo encoberto é tornado visível de novo.
[009] Deve ser percebido que a matéria em questão descrita anteriormente também pode ser implementada como um aparelho controlado por computador, um processo de computador, um sistema de computação, ou como um artigo de fabricação tal como uma mídia legível por computador. Estes e vários outros recursos estarão aparentes a partir de uma leitura da Descrição Detalhada seguinte e de uma revisão dos desenhos anexos.
Petição 870190050714, de 30/05/2019, pág. 7/39
5/23 [0010] Este Sumário é fornecido para introduzir uma seleção de conceitos em uma forma simplificada, os quais são descritos adicionalmente a seguir na Descrição Detalhada. Este Sumário não é pretendido para identificar recursos chaves ou recursos essenciais da matéria em questão reivindicada, nem é pretendido que este Sumário seja usado para limitar o escopo da matéria em questão reivindicada. Além disso, a matéria em questão reivindicada não está limitada às implementações que resolvem qualquer uma ou todas as desvantagens anotadas em qualquer parte desta revelação.
DESCRIÇÃO RESUMIDA DOS DESENHOS [0011] A figura 1 é um diagrama de arquitetura de rede e software mostrando aspectos de um ambiente de operação ilustrativo e diversos componentes de software fornecidos pelas modalidades apresentadas neste documento;
[0012] As figuras 2A-2C são diagramas de tela mostrando uma captura de tela ilustrativa da operação da superfície de edição transitória de acordo com uma modalidade descrita neste documento;
[0013] As figuras 3-5 são fluxogramas mostrando aspectos da operação de um programa de processamento de texto fornecendo uma superfície de edição transitória fornecida nas modalidades descritas neste documento; e [0014] A figura 6 é um diagrama de arquitetura de computador mostrando uma arquitetura de hardware e software de computador ilustrativa para um sistema de computação capaz de implementar aspectos das modalidades apresentadas neste documento.
DESCRIÇÃO DETALHADA [0015] A descrição detalhada a seguir é direcionada para tecnologias para fornecer funcionalidade de processamento de texto dentro de um navegador. Por meio do uso das tecnologias e conceitos apresentados neste documento, um programa de processamento de texto
Petição 870190050714, de 30/05/2019, pág. 8/39
6/23 pode ser implementado dentro de um navegador que fornece uma experiência de processamento de texto rica em recursos similar àquela de programas de processamento de texto autônomos tradicionais sem exigir que o programa implemente os detalhes de nível inferior de gerenciamento da edição de texto. Isto é concretizado ao implementar um híbrido entre um programa de processamento de texto desenvolvido sob medida completo e os recursos de edição de conteúdo do navegador de rede. O programa de processamento de texto fornece a funcionalidade de processamento de texto de alto nível, enquanto que os recursos de edição do navegador de rede são empregados para executar as funções de edição de texto de nível inferior, tais como a renderização de texto em uma janela tal como digitado pelo usuário, o movimento de um cursor intermitente através do texto, ou o refluxo constante do conteúdo da janela à medida que o usuário digita. Os recursos de edição do navegador de rede são utilizados para colocar temporariamente uma superfície de edição na janela no lugar do conteúdo do documento sendo editado. A superfície editável é transitória em que ela permanece visível e ativa somente enquanto exigido. Uma vez que edição do conteúdo está completa, a superfície de edição é destruída e o documento modificado é exibido para o usuário.
[0016] Embora a matéria em questão descrita neste documento seja apresentada no contexto geral de módulos de programa que executam em conjunto com a execução de um sistema de operação e programas de aplicação em um sistema de computador, os versados na técnica reconhecerão que outras implementações podem ser executadas em combinação com outros tipos de módulos de programa. De uma maneira geral, módulos de programa incluem rotinas, programas, componentes, estruturas de dados e outros tipos de estruturas que executam tarefas particulares ou implementam tipos de dados abstratos particulares. Além disso, os versados na técnica compreenPetição 870190050714, de 30/05/2019, pág. 9/39
7/23 derão que a matéria em questão descrita neste documento pode ser praticada com outras configurações de sistema de computador, incluindo dispositivos de mão, sistemas multiprocessadores, aparelhos eletrônicos de consumidor baseados em microprocessador ou programáveis, minicomputadores, computadores de grande porte e outros mais. [0017] Na descrição detalhada a seguir são feitas referências aos desenhos anexos que formam uma parte deste pedido, e que mostram a título de ilustração modalidades ou exemplos específicos. Referindose agora aos desenhos, nos quais números iguais representam elementos iguais por todas as diversas figuras, aspectos de um sistema e metodologia de computação para editar um documento usando uma superfície de edição transitória serão descritos.
[0018] Voltando agora à figura 1, serão fornecidos detalhes com relação a um ambiente de operação ilustrativo e diversos componentes de software fornecidos pelas modalidades apresentadas neste documento. Em particular, a figura 1 mostra aspectos de um sistema 100 para editar um documento usando uma superfície de edição transitória. O sistema 100 inclui um computador 120 compreendendo um sistema de computador de mesa ou portátil padrão capaz de executar um sistema de operação e um ou mais programas de aplicação. O computador 120 é conectado operacionalmente a um monitor 104, mouse 108 e ao teclado 110 para permitir a um usuário 102 interagir com programas de sistema e de aplicação executando no computador 120. O computador 120 é interligado a um computador servidor 162 por meio de uma ou mais redes de área local e estendida, tais como a rede 160. Deve ser percebido que muito mais conexões de rede podem ser utilizadas do que ilustrado na figura 1.
[0019] O computador 120 é operativo para executar um navegador de rede 122 que é conectado operacionalmente por meio da rede 160 a um servidor de rede 164 executado pelo computador servidor 162.
Petição 870190050714, de 30/05/2019, pág. 10/39
8/23
Em uma modalidade, o navegador de rede 122 é um programa de aplicação capaz de exibir documentos HTML, tal como o INTERNET EXPLORER da MICROSOFT CORP., FIREFOX da MOZILLA, ou o SAFARI da APPLE, INC. Será percebido por uma pessoa de conhecimento comum na técnica, entretanto, que qualquer tipo de programa de aplicação capaz de renderizar uma linguagem de marcação e executar lógica de manuscrito pode ser utilizado para incorporar o navegador de rede 122. O servidor de rede 164 inclui qualquer software capaz de servir documentos para um navegador de rede 122. O servidor de rede 162 é conectado adicionalmente a um armazenamento de dados 168 contendo documentos e um programa de processamento de texto 140, o que será descrito com mais detalhes a seguir. De acordo com uma modalidade, os documentos podem incluir um documento HTML 128 para ser servido para o navegador de rede 122. Mediante solicitação por um usuário 102 do computador 120, o navegador de rede 122 é operativo para recuperar o documento HTML 128 do servidor de rede 164 e o renderizar em uma janela 106 no monitor 104 para apresentação para o usuário 102.
[0020] Tal como discutido anteriormente de forma resumida, o sistema 100 também inclui um programa de processamento de texto 140 operativo para permitir ao usuário 102 do computador 120 editar o conteúdo do documento HTML 128 na janela 106. De acordo com uma modalidade, o programa de processamento de texto 140 é capaz de executar dentro de um ambiente de tempo de execução fornecido pelo navegador de rede 122. Por exemplo, o programa de processamento de texto 140 pode ser criado usando técnicas de desenvolvimento AJAX.
[0021] Em uma modalidade, o programa de processamento de texto 140 é recuperado do servidor de rede 164 juntamente com o documento 128 a ser editado. Em modalidades alternativas, o programa de
Petição 870190050714, de 30/05/2019, pág. 11/39
9/23 processamento de texto 140 pode residir localmente no computador 120. O programa de processamento de texto 140 inclui a lógica de processamento de texto 148 que é operativa para fornecer funcionalidade de processamento de texto para o usuário 102. Em uma modalidade, o programa de processamento de texto 140 mantém o conteúdo do documento sendo editado em uma imagem de documento interna 150. Em outras modalidades, o programa de processamento de texto 140 mantém o conteúdo do documento sendo editado diretamente dentro do documento HTML 128. O renderizador HTML 124 renderiza o documento HTML 128 para exibição.
[0022] Em uma modalidade, o programa de processamento de texto 140 inclui a lógica de manejo de evento 146, a qual monitora eventos de entrada de usuário provenientes do processador de entrada de usuário 126. Tal como será descrito detalhadamente a seguir com referência à figura 3, a lógica de manejo de evento 146 é operativa para detectar a colocação pelo usuário 102 de um indicador de inserção em uma localização dentro do documento HTML 128 tal como exibido na janela 106. A lógica de manejo de evento 146 é operativa adicionalmente para monitorar eventos de entrada de usuário durante a edição do conteúdo do documento, tal como descrito a seguir com relação à figura 4.
[0023] O programa de processamento de texto 140 também inclui a lógica de criação de superfície de edição 144, a qual cria uma superfície de edição na janela 106 para aceitar mudanças no conteúdo do documento, tal como é descrito detalhadamente a seguir com referência à figura 3. Em uma modalidade, a superfície de edição é criada ao adicionar marcação ao documento HTML 128 para criar um elemento de superfície de edição 130, o qual, quando renderizado pelo navegador de rede 122, exibe a superfície de edição na janela 106. Além do mais, o programa de processamento de texto 140 inclui a lógica de
Petição 870190050714, de 30/05/2019, pág. 12/39
10/23 refluxo 142. Tal como será descrito detalhadamente a seguir com referência à figura 5, a lógica de refluxo 142 mantém o tamanho e a posição da superfície de edição 208 à medida que o usuário 102 muda o conteúdo da mesma.
[0024] Referindo-se agora às figuras 2A-2C, estão mostradas capturas de tela ilustrativas da janela 106 geradas pelo programa de processamento de texto 140 executando no navegador de rede 122, de acordo com uma modalidade. Tal como mostrado na figura 2A, a janela 106 exibe um parágrafo do texto 202 contido no corpo principal do documento HTML 128 assim como um bloco de texto dentro de uma tabela 204 do documento HTML 128. O usuário 102, desejando editar o parágrafo do texto 202, pode usar o mouse 108 para posicionar o indicador de mouse, ilustrado aqui como um indicador ou sinal de inserção de texto 206, em uma posição dentro do parágrafo do texto 202 na janela 106, e clica um botão no mouse 108. A lógica de manejo de evento 146 do programa de processamento de texto 140 detecta o clique de mouse com o indicador de inserção 206 dentro do parágrafo 202 e faz com que a lógica de criação de superfície de edição 144 crie uma superfície de edição 208A encobrindo o parágrafo do texto 202 na janela 106, tal como ilustrado na figura 2B. Deve ser percebido que a atividade de entrada de usuário descrita neste documento como sendo executada por meio de um mouse pode ser submetida usando um outro tipo de dispositivo de entrada.
[0025] Tal como será descrito detalhadamente a seguir com referência à figura 3, a lógica de criação de superfície de edição 144 cria a superfície de edição 208A de tal maneira que ela é do mesmo tamanho e na mesma posição que o parágrafo ou texto 202 tal como ele aparece na janela 106. A lógica de criação de superfície de edição 144 copia adicionalmente o conteúdo do parágrafo 202 na superfície de edição 208A, e torna o parágrafo 202 invisível na janela 106. Deve-se
Petição 870190050714, de 30/05/2019, pág. 13/39
11/23 notar que enquanto o parágrafo 202 não está mais visível na janela 106 ele ainda ocupa o mesmo espaço físico dentro da janela 106, e assim fica essencialmente subjacente à superfície de edição 208A. A lógica de criação de superfície de edição 144 posiciona então um cursor 210 dentro da superfície de edição 208A correspondendo à posição da colocação do indicador de inserção 206 dentro do parágrafo 202 pelo usuário 102. Deve ser notado que os limites da superfície de edição 208A mostrados na captura de tela da figura 2B são somente para propósitos de ilustração. Nenhum limite real para a superfície de edição 208A não é criado na janela 106. O processo de criar a superfície de edição 208A, copiar o conteúdo do parágrafo encoberto 202 na superfície de edição 208A e tornar o parágrafo encoberto invisível na janela tal como descrito nas várias modalidades é imperceptível para o usuário 102. A única mudança na janela 106 que o usuário 102 percebe é a criação do cursor 210 na posição da colocação do indicador de inserção 206.
[0026] A superfície de edição 208A permanece ativa na janela 106 para permitir ao usuário 102 efetuar edições de nível inferior no conteúdo de texto da superfície de edição 208A. Por exemplo, em uma modalidade a superfície de edição 208A permite ao usuário 102 adicionar ou apagar caracteres no texto na posição atual do cursor 210. Se o usuário 102 solicitar uma função de edição de nível mais alto do programa de processamento de texto 140, ou navegar para uma parte diferente do documento HTML 128 na janela 106, então o documento HTML 128 é atualizado com as edições feitas pelo usuário 102 na superfície de edição 208A e a superfície de edição 208A é destruída, tal como é descrito detalhadamente a seguir com referência à figura 4. Por exemplo, se o usuário 102 colocar um indicador de inserção 206 no bloco de texto dentro da tabela 204 exibida na janela 106, então a superfície de edição 208A é destruída, e o parágrafo do texto 202 sub
Petição 870190050714, de 30/05/2019, pág. 14/39
12/23 jacente à superfície de edição 208A é atualizado com quaisquer edições da superfície de edição 208 e tornado visível de novo na janela 106, tal como ilustrado na figura 2C. Tal como ilustrado adicionalmente, uma nova superfície de edição 208B é criada encobrindo o bloco de texto dentro da tabela 204, e um cursor 210 para a inserção de texto é criado dentro da nova superfície de edição 208B.
[0027] Referindo-se agora à figura 3, detalhes adicionais serão fornecidos com relação às modalidades apresentadas neste documento para editar um documento usando uma superfície de edição transitória. Em particular, a figura 3 é um fluxograma ilustrando aspectos da operação de criar a superfície de edição transitória 208 na janela 106. Deve ser percebido que as operações lógicas descritas neste documento são implementadas (1) como uma sequência de procedimentos implementados por computador ou módulos de programa executando em um sistema de computação e/ou (2) como circuitos lógicos de máquina interligados ou módulos de circuito dentro do sistema de computação. A implementação é uma questão de escolha dependendo do desempenho e de outras exigências do sistema de computação. Desta maneira, as operações lógicas descritas neste documento são referidas variavelmente como operações de estados, dispositivos estruturais, procedimentos ou módulos. Estas operações, dispositivos estruturais, procedimentos e módulos podem ser implementados em software, em firmware, em lógica digital de uso especial e em qualquer combinação dos mesmos. Também deve ser percebido que mais ou menos operações podem ser executadas a não ser as mostradas nas figuras e descritas neste documento. Estas operações também podem ser executadas em uma ordem diferente dessas descritas neste documento.
[0028] A rotina 300 começa na operação 302, onde a lógica de manejo de evento 146 detecta que o usuário 102 colocou um indicador
Petição 870190050714, de 30/05/2019, pág. 15/39
13/23 de inserção 206 em uma localização dentro da janela 106. Tal como discutido anteriormente, em uma modalidade, o usuário 102 pode colocar um indicador de inserção 206 em uma localização na janela 106 usando o mouse 108 ou ao deslocar o cursor atual 210 de uma seção do documento HTML 128 para uma outra usando as teclas de navegação do teclado 110. Em modalidades alternativas, o usuário 102 pode colocar um indicador de inserção 206 ao tocar o monitor 104 com um dedo ou apontador em uma localização na janela 106.
[0029] Mediante detecção da colocação de um indicador de inserção 206, a rotina 300 se desloca da operação 304, onde a lógica de criação de superfície de edição 144 determina a parte do documento HTML 128 que é exibida atualmente na localização dentro da janela 106 onde o indicador de inserção 206 foi colocado. Em uma modalidade, o documento HTML 128 pode ser dividido em parágrafos do texto 202 contidos dentro do corpo principal do documento ou dentro de outros recebedores, tais como uma célula de uma tabela 204. Quando o usuário 102 coloca o indicador de inserção 206 ao usar o mouse 108, a lógica de criação de superfície de edição 144 solicita a identidade do parágrafo 202 dentro do documento HTML 128 correspondendo à localização onde o mouse 108 foi clicado do navegador de rede 122. Se o usuário 102 colocar o indicador de inserção 206 ao usar as teclas de navegação do teclado 110, a lógica de criação de superfície de edição 144 determina o parágrafo correto ao analisar o conteúdo do documento HTML 128. Em modalidades alternativas, outras divisões do documento podem ser desejadas.
[0030] Da operação 304 a rotina 300 continua para a operação
306, onde a lógica de criação de superfície de edição 144 determina uma posição de caractere dentro do parágrafo 202 que corresponde mais exatamente à localização dentro da janela 106 onde o indicador de inserção 206 foi colocado. Esta posição de caractere será usada
Petição 870190050714, de 30/05/2019, pág. 16/39
14/23 para posicionar um cursor 210 na superfície de edição 208 em uma posição correspondendo a onde o indicador de inserção 206 foi colocado dentro do parágrafo. Em uma modalidade, a lógica de criação de superfície de edição 144 usa um algoritmo de pesquisa binária para determinar a posição de caractere. Por exemplo, um elemento HTML, tal como um elemento SPAN, é colocado no documento HTML 128 em uma posição de caractere no meio da marcação contendo o texto do parágrafo. As coordenadas dentro da janela 106 da localização do elemento SPAN são solicitadas do navegador de rede 122 e comparadas com as coordenadas da colocação do indicador de inserção 206 para determinar se o indicador de inserção 206 foi posicionado antes ou após o elemento SPAN no texto. O processo é repetido de novo, colocando o elemento SPAN no meio da primeira metade ou segunda metade da marcação, respectivamente, e continua em um modo iterativo até que a posição de caractere dentro do parágrafo 202 correspondendo à localização do indicador de inserção 206 seja determinada.
[0031] Da operação 306 a rotina 300 continua para a operação
308, onde a lógica de criação de superfície de edição 144 determina a posição e as dimensões atuais do parágrafo 202 tal como exibido na janela 106. Em uma modalidade, esta informação é solicitada do navegador de rede 122 uma vez que o parágrafo 202 seja identificado. A lógica de criação de superfície de edição 144 cria então uma superfície de edição 208 na janela 106 na mesma localização e das mesmas dimensões que o parágrafo 202, tal como indicado na operação 310. Em uma modalidade, a lógica de criação de superfície de edição 144 cria a superfície de edição 208 ao adicionar marcação ao documento HTML 128 para criar um elemento de superfície de edição 130, tal como um elemento IFRAME HTML. O elemento de superfície de edição 130 é tornado editável ao estabelecer seu atributo contentEditable para ver
Petição 870190050714, de 30/05/2019, pág. 17/39
15/23 dadeiro. Em modalidades alternativas, o elemento de superfície de edição 130 pode ser um elemento DIV HTML com seu atributo contentEditable estabelecido para verdadeiro ou um elemento TEXTAREA HTML. A lógica de criação de superfície de edição 144 estabelece os atributos de tamanho e de posição do elemento de superfície de edição 130 de maneira que ele é renderizado pelo navegador de rede 122 na mesma posição e do mesmo tamanho na janela 106 que o parágrafo 202. Tal como pode ser percebido pelos versados na técnica, se o indicador de inserção 206 for colocado em um parágrafo novo ou vazio de tal maneira que o tamanho atual do parágrafo é zero, a lógica de criação de superfície de edição 144 cria a superfície de edição 208 de altura e largura suficientes para exibir de forma apropriada o cursor 210 e os primeiros poucos caracteres digitados pelo usuário 102.
[0032] Da operação 310 a rotina 300 se desloca para a operação
312, onde a lógica de criação de superfície de edição 144 copia o conteúdo do parágrafo 202 no documento HTML 128 na superfície de edição 208. Isto inclui copiar o texto contido dentro do parágrafo 202 no documento HTML 128 no elemento de superfície de edição 130 assim como estabelecer os atributos do elemento de superfície de edição 130 para serem os mesmos que esses aplicados ao parágrafo 202 no documento HTML 128. A lógica de criação de superfície de edição 144 torna então o parágrafo 202 invisível na janela 106 na operação 314. Tal como discutido anteriormente, isto é realizado de uma tal maneira que o parágrafo 202 não fica mais visível para o usuário 102 na janela 106, mas ainda ocupa o mesmo espaço físico dentro da janela 106. Por exemplo, em uma modalidade, o atributo de visibilidade do parágrafo 202 no documento HTML 128 é estabelecido para escondido.
[0033] A rotina 300 se desloca então para a operação 316, a lógica de criação de superfície de edição 144 posiciona o cursor 210 na superfície de edição 208 na posição de caractere correspondendo à
Petição 870190050714, de 30/05/2019, pág. 18/39
16/23 posição de caractere onde o indicador de inserção 206 foi colocado, calculada na operação 306. Em uma modalidade, isto é realizado ao estabelecer a seleção atual para uma faixa vazia de texto na posição de caractere. A seguir, a rotina 300 prossegue para a operação 318, onde a lógica de criação de superfície de edição 144 registra manipuladores de evento da lógica de manejo de evento 146 para a superfície de edição 208. Tal como será descrito com mais detalhes a seguir com referência à figura 4, isto permite que a lógica de manejo de evento 146 processe eventos de mouse, teclado e de outro navegador, tal como rolagem, da superfície de edição 208. Na operação 320, a focalização atual na janela 106 é estabelecida para a superfície de edição 208.
[0034] A figura 4 é um fluxograma ilustrando aspectos da operação de manusear eventos gerados pela superfície de edição 208 ou pelo navegador de rede 122 enquanto a superfície de edição 208 está ativa na janela 106. A rotina 400 começa na operação 402, onde a lógica de manejo de evento 146 detecta que a superfície de edição 208 gerou um evento, primariamente como o resultado de entrada de usuário tal como ao clicar o mouse 108 ou digitar no teclado 110. Mediante detecção do evento de entrada de usuário, a lógica de manejo de evento 146 determina se o elemento de superfície de edição 130 processará a entrada de usuário de forma natural na operação 404.
[0035] Em uma modalidade, se a entrada de usuário representar um caractere digitado no teclado 110, a lógica de manejo de evento 146 compara o caractere digitado a uma lista de caracteres que são para ser processados pelo elemento de superfície de edição 130. Por exemplo, se o caractere digitado for uma letra, número ou caractere de pontuação, então a lógica de manejo de evento 146 determina o que será processado pelo elemento de superfície de edição 130. Entretanto, se o caractere digitado puder resultar em uma mudança de formato
Petição 870190050714, de 30/05/2019, pág. 19/39
17/23 para o texto, tal como o CTRL-B, ele não será enviado para o elemento de superfície de edição 130 para processamento. Em modalidades alternativas, a lógica de manejo de evento 146 pode permitir ao elemento de superfície de edição 130 processar entrada de teclado adicional, tais como as teclas de navegação de cursor ou teclas de atalho de cópia e de pasta.
[0036] Se a lógica de manejo de evento 146 determinar que o elemento de superfície de edição 130 processará a entrada de usuário de forma natural, a rotina 400 prossegue para a operação 414, onde a entrada de usuário é passada para o elemento de superfície de edição 130 para processamento. Após o elemento de superfície de edição 130 processar a entrada de usuário, a rotina 400 prossegue para a operação 416, onde a lógica de refluxo 142 é executada. Isto será descrito detalhadamente a seguir com referência à figura 5. Em uma modalidade, a lógica de manejo de evento 146 configura um controlador de tempo no navegador de rede 122 com um valor de tempo esgotado de zero antes de passar a entrada de usuário para o elemento de superfície de edição 130. Deste modo, um evento de controlador de tempo correspondente será gerado imediatamente após a entrada de usuário ser processada pelo elemento de superfície de edição 130, permitindo que a lógica de manejo de evento 146 execute a operação de refluxo.
[0037] Se a lógica de manejo de evento 146 determinar que o elemento de superfície de edição 130 não processará a entrada de usuário de forma natural, a rotina 400 se desloca para a operação 406 onde a lógica de manejo de evento 146 copia o texto da superfície de edição 208, incluindo quaisquer mudanças feitas pelo usuário 102, de volta no parágrafo encoberto 202 do documento HTML 128. A lógica de manejo de evento 146 destrói então a superfície de edição 208, tal como fornecido na operação 408, ao remover o elemento de superfície
Petição 870190050714, de 30/05/2019, pág. 20/39
18/23 de edição 130 do documento HTML 128. Na operação 410, o parágrafo encoberto 202 é tornado visível, revertendo a mudança feita na operação 314. Isto é realizado, em uma modalidade, ao estabelecer o atributo de visibilidade do parágrafo 202 para visível. A lógica de manejo de evento 146 passa então a entrada de usuário para a lógica de processamento de texto 148 para processamento adicional na operação 412.
[0038] A figura 5 é um fluxograma ilustrando aspectos da operação de executar um refluxo da superfície de edição 208 dentro do documento HTML 128 enquanto ela está ativa na janela 106. Em várias modalidades descritas neste documento, a marcação HTML acrescentada ao documento HTML 128 para criar o elemento de superfície de edição 130 pode não resultar em uma superfície de edição 208 que crescerá ou diminuirá de forma apropriada em tamanho na janela 106 enquanto o usuário 102 edita o conteúdo contido na mesma. Por exemplo, o elemento IFRAME HTML não redimensionará de forma apropriada por si mesmo durante edição de seu conteúdo. Isto pode resultar no conteúdo da superfície de edição 208 sobrecarregando seus limites, fazendo com que a superfície de edição 208 role seu conteúdo para cima ou para baixo dentro de seus limites tal como exibido na janela 106. Para impedir que isto ocorra, a lógica de refluxo 142 mantém dinamicamente o tamanho e a posição da superfície de edição 208 na janela 106 à medida que o usuário 102 edita o conteúdo. Além do mais, a lógica de refluxo 142 assegura que o tamanho e a posição do parágrafo invisível subjacente 202 permanecem no mesmo tamanho da superfície de edição ativa 208, para assegurar que o restante do documento HTML 128 flua de forma apropriada em volta da superfície de edição 208. Este processo é referido neste documento como refluxo.
[0039] A rotina 500 começa na operação 502, onde a lógica de
Petição 870190050714, de 30/05/2019, pág. 21/39
19/23 refluxo 142 determina se um refluxo da superfície de edição 208 é necessário. Em uma modalidade, a lógica de refluxo 142 pode executar a operação de refluxo após cada evento de entrada de usuário que seja processado de forma natural pelo elemento de superfície de edição 130. Por exemplo, a superfície de edição 208 pode ser refluída após cada caractere digitado no teclado 110 pelo usuário 102. Em uma outra modalidade, a lógica de refluxo 142 pode monitorar eventos de navegador de rede por meio da lógica de manejo de evento 146 para determinar se uma operação de refluxo é necessária. Por exemplo, a lógica de refluxo 142 pode executar a operação de refluxo da superfície de edição 208 somente em resposta a eventos de rolagem gerados pela superfície de edição 208, indicando que uma condição de sobrecarga ocorreu. Também em outras modalidades, a lógica de refluxo 142 pode executar cálculos de métrica de texto no conteúdo da superfície de edição 208 para determinar a probabilidade de que uma condição de sobrecarga tenha ocorrido, e se existir uma alta probabilidade de que uma sobrecarga ocorreu, a operação de refluxo será executada.
[0040] Mediante determinação de que um refluxo da superfície de edição 208 é necessário, a rotina 500 prossegue para a operação 504, onde a lógica de refluxo 142 copia o texto da superfície de edição 208, incluindo quaisquer mudanças feitas pelo usuário 102, de volta no parágrafo encoberto 202 do documento HTML 128. Na operação 506, a lógica de refluxo 142 faz com que o navegador de rede 122 renderize novamente o documento HTML 128 na janela 106, disparando assim o navegador de rede 122 para recalcular a posição e o tamanho do parágrafo encoberto 202, contendo agora o conteúdo modificado da superfície de edição 208, tal como ele é exibido na janela 106. A lógica de refluxo 142 determina então a nova posição e as novas dimensões do parágrafo encoberto 202 tal como exibido na janela 106, tal como
Petição 870190050714, de 30/05/2019, pág. 22/39
20/23 representado na operação 508. Em uma modalidade, esta informação é simplesmente solicitada do navegador de rede 122. Uma vez que a nova posição e as novas dimensões são conhecidas, a rotina 500 prossegue para a operação 510, onde a lógica de refluxo 142 reposiciona e redimensiona a superfície de edição 208 na janela 106 para casar com aquela do parágrafo encoberto 202.
[0041] A figura 6 mostra uma arquitetura de computador ilustrativa para um computador 600 capaz de executar os componentes de software descritos neste documento para editar documento usando uma superfície de edição transitória no modo apresentado anteriormente. A arquitetura de computador mostrada na figura 6 ilustra um computador de mesa, portátil ou servidor convencional e pode ser utilizada para executar quaisquer aspectos dos componentes de software apresentados neste documento descritos como executando no computador 120 ou no computador servidor 162.
[0042] A arquitetura de computador mostrada na figura 6 inclui uma unidade central de processamento 602 (CPU), uma memória de sistema 608, incluindo uma memória de acesso aleatório 614 (RAM) e uma memória somente de leitura (ROM) 616, e um barramento de sistema 604 que acopla a memória à CPU 602. O sistema de entrada/saída básico contendo as rotinas básicas que ajudam a transferir informação entre elementos dentro do computador 600, tal como durante partida, é armazenado na ROM 616. O computador 600 também inclui um dispositivo de armazenamento de massa 610 para armazenar um sistema de operação 618, programas de aplicação e outros módulos de programa, os quais são descritos com mais detalhes neste documento.
[0043] O dispositivo de armazenamento de massa 610 é conectado à CPU 602 por meio de um controlador de armazenamento de massa (não mostrado) conectado ao barramento 604. O dispositivo de
Petição 870190050714, de 30/05/2019, pág. 23/39
21/23 armazenamento de massa 610 e suas mídias legíveis por computador associadas fornecem armazenamento não volátil para o computador 600. Embora a descrição de mídias legíveis por computador contida neste documento se refira a um dispositivo de armazenamento de massa, tal como um disco rígido ou unidade de CD-ROM, deve ser percebido pelos versados na técnica que mídias legíveis por computador podem ser quaisquer mídias de armazenamento de computador disponíveis que possam ser acessadas pelo computador 600.
[0044] A título de exemplo, e não de limitação, mídias legíveis por computador podem incluir mídias removíveis e não removíveis, voláteis e não voláteis implementadas em qualquer método ou tecnologia para armazenamento de informação tal como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Por exemplo, mídias legíveis por computador incluem, mas não estão limitadas a estas, RAM, ROM, EPROM, EEPROM, memória flash ou outra tecnologia de memória de estado sólido, CD-ROM, discos versáteis digitais (DVD), HD-DVD, BLU-RAY, ou outro armazenamento ótico, cassetes magnéticos, fita magnética, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outra mídia que possa ser usada para armazenar a informação desejada e que possa ser acessada pelo computador 600.
[0045] De acordo com várias modalidades, o computador 600 pode operar em um ambiente de rede usando conexões lógicas para computadores remotos através de uma rede tal como a rede 620. O computador 600 pode se conectar à rede 620 por meio de uma unidade de interface de rede 606 conectada ao barramento 604. Deve ser percebido que a unidade de interface de rede 606 também pode ser utilizada para se conectar a outros tipos de redes e sistemas de computador remoto. O computador 600 também pode incluir um controlador de entrada/saída 612 para receber e processar entrada provenien
Petição 870190050714, de 30/05/2019, pág. 24/39
22/23 te de diversos outros dispositivos, incluindo um teclado, mouse ou apontador eletrônico (não mostrado na figura 6). De forma similar, um controlador de entrada/saída pode fornecer saída para uma tela de exibição, uma impressora, ou outro tipo de dispositivo de saída (também não mostrado na figura 6).
[0046] Tal como mencionado anteriormente de forma resumida, diversos módulos de programa e arquivos de dados podem ser armazenados no dispositivo de armazenamento de massa 610 e na RAM 614 do computador 600, incluindo um sistema de operação 618 adequado para controlar a operação de um computador de mesa, portátil ou servidor em rede. O dispositivo de armazenamento de massa 610 e a RAM 614 também podem armazenar um ou mais módulos de programa. Em particular, o dispositivo de armazenamento de massa 610 e a RAM 614 podem armazenar os programas de aplicação do navegador de rede 122 ou do servidor de rede 164, cada qual foi descrito detalhadamente acima com relação às figuras 1-5. O dispositivo de armazenamento de massa 610 e a RAM 614 também podem armazenar outros tipos de módulos de programa.
[0047] Baseado no exposto anteriormente, deve ser percebido que tecnologias para editar um documento usando uma superfície de edição transitória são fornecidas neste documento. Embora a matéria em questão apresentada neste documento tenha sido descrita em linguagem específica para recursos estruturais de computador, procedimentos metodológicos e mídias legíveis por computador, é para ser entendido que a invenção definida nas reivindicações anexas não está necessariamente limitada aos recursos, procedimentos ou mídias específicos descritos neste documento. Em vez disto, os recursos específicos, procedimentos e mídias estão revelados como formas de exemplo de implementar as reivindicações.
[0048] A matéria em questão descrita anteriormente é fornecida
Petição 870190050714, de 30/05/2019, pág. 25/39
23/23 somente a título de ilustração e não deve ser interpretada como limitante. Várias modificações e mudanças podem ser feitas na matéria em questão descrita neste documento sem seguir as modalidades e aplicações de exemplo ilustradas e descritas, e sem divergir do verdadeiro espírito e escopo da presente invenção, o qual é exposto nas reivindicações a seguir.
Claims (17)
1/8
REIVINDICAÇÕES
1. Método para editar uma parte de texto (202, 204) de um conteúdo de um documento de Linguagem de Marcação de Hipertexto (HTML) (128) em uma janela (200) de um navegador de rede (122), o método sendo caracterizado pelo fato de que compreende as etapas de:
apresentar o documento HTML (128) na janela (200) do navegador de rede (122);
receber uma solicitação para editar a parte de texto (202, 204) do conteúdo do documento HTML (128);
em resposta à solicitação, determinar uma posição e um tamanho da parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela (200);
criar uma superfície de edição (208) encobrindo a parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela (200), a superfície de edição (208) criada adicionando um elemento HTML ao documento HTML (128) tendo atributos de posição e tamanho que fazem com que a superfície de edição (208), quando renderizada pelo navegador de rede (122), seja exibida na janela (200) na posição e do tamanho da parte de texto (202, 204) do conteúdo do documento HTML (128);
copiar a parte de texto (202, 204) do conteúdo do documento HTML (128) para a superfície de edição (208);
receber uma entrada dentro da janela (200);
mediante o recebimento da entrada, determinar se a superfície de edição (208) irá processar a entrada;
mediante a determinação de que a superfície de edição (208) irá processar a entrada, passar a entrada para a superfície de edição (208) para processar e executar uma operação de refluxo na superfície de edição (208);
Petição 870190090058, de 11/09/2019, pág. 4/15
2/8 mediante a determinação de que a superfície de edição (208) não irá processar a entrada, aplicar quaisquer mudanças ao conteúdo do documento HTML (128), remover a superfície de edição (208) do documento HTML (128), e tornar a parte de texto (202, 204) do conteúdo do documento HTML (128) conforme exibida na janela (200) visível;
receber uma solicitação para parar edição da parte de texto (202, 204) do conteúdo do documento HTML (128); e em resposta ao recebimento da solicitação, aplicar as uma ou mais mudanças ao conteúdo do documento HTML (128) e destruir a superfície de edição (208).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que receber uma solicitação para editar a parte de texto (202, 204) do conteúdo do documento HTML (128) compreende:
detectar uma colocação de um indicador de inserção (206) em uma posição na janela; e determinar a parte de texto (202, 204) do conteúdo do documento HTML (128) exibida dentro da janela na posição do indicador de inserção (206).
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que ainda compreende:
ao determinar a parte de texto (202, 204) do conteúdo do documento HTML (128) exibida dentro da janela, determinar uma posição de caractere dentro da parte de texto (202, 204) do conteúdo do documento HTML (128) correspondendo à posição do indicador de inserção (206); e ao criar a superfície de edição (208) encobrindo a parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela (200), posicionar um cursor na posição de caractere no texto da parte de texto (202, 204) do conteúdo do documento HTML
Petição 870190090058, de 11/09/2019, pág. 5/15
3/8 (128) dentro da superfície de edição (208).
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que colocar a superfície de edição (208) encobrindo a parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela (200) ainda compreende:
tornar a parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela (200) invisível.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o elemento HTML adicionado ao documento HTML (128) compreende um de um elemento IFRAME HTML, um elemento DIV HTML e um elemento TEXTAREA HTML.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que executar uma operação de refluxo na superfície de edição (208) compreende:
determinar se é necessário refluir a superfície de edição (208) na janela (200); e ao determinar que é necessário refluir a superfície de edição (208), aplicar as uma ou mais mudanças ao documento HTML (128), fazer com que o navegador de rede (122) renderize novamente o documento na janela (200), determinar uma nova posição e um novo tamanho da parte de texto (202, 204) do conteúdo do documento HTML (128) tal como exibida na janela, e modificar os atributos de tamanho e posição do elemento de HTML adicionado ao documento HTML (128) de modo que a superfície de edição (208) seja renderizada pelo navegador de rede (122) na janela (200) na nova posição e do novo tamanho da parte da parte de texto (202, 204) do conteúdo do documento HTML (128).
Petição 870190090058, de 11/09/2019, pág. 6/15
4/8
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que determinar se a superfície de edição (208) processará a entrada compreende determinar se a entrada foi um resultado de uma dentre uma tecla de letra, uma tecla de pontuação e uma tecla de número sendo pressionada em um teclado.
8. Mídia de armazenamento de computador caracterizada pelo fato de que contém o método que realiza as etapas de:
exibir um documento de linguagem de marcação em uma janela (200) gerada por um navegador de rede (122);
detectar uma colocação de um indicador de inserção (206) em uma posição na janela (200);
ao detectar a colocação de um indicador de inserção, determinar uma parte de texto (202, 204) do documento HTML (128) exibida na janela (200) na posição do indicador de inserção (206);
criar uma superfície de edição (208) encobrindo a parte de texto (202, 204) do documento HTML (128) na janela (200) e copiar a parte de texto (202, 204) do documento (128) para a superfície de edição (208), a superfície de edição (208) criada adicionando um elemento de linguagem de marcação ao documento (128) tendo atributos de posição e tamanho que fazem com que a superfície de edição (208), quando renderizada pelo navegador de rede (122), seja exibida na janela (200) na posição e do tamanho da parte de texto (202, 204) do documento (128);
detectar entrada na janela (200);
ao detectar entrada na janela (200), determinar se a superfície de edição (208) processará a entrada;
ao determinar que a superfície de edição processará a entrada, passar a entrada para a superfície de edição (208) para permitir que a superfície de edição (208) aceite mudanças para a parte de texto (202, 204) do documento (128) e execute uma operação de refluxo
Petição 870190090058, de 11/09/2019, pág. 7/15
5/8 da superfície de edição (208); e ao determinar que a superfície de edição (208) não processará a entrada, atualizar a parte de texto (202, 204) do documento (128) com as mudanças da superfície de edição (208) e destruir a superfície de edição (208).
9. Mídia de armazenamento de computador, de acordo com a reivindicação 8, caracterizada pelo fato de que criar uma superfície de edição (208) encobrindo a parte de texto do documento (128) na janela (200) compreende:
determinar uma posição atual e um tamanho atual da parte do documento tal como exibida na janela (200);
determinar uma posição de caractere dentro da parte de texto do documento (128) correspondendo à posição do indicador de inserção (206);
fazer com que a parte de texto do documento (128) seja renderizada pelo navegador de rede (122) como invisível na janela (200);
copiar a porção de texto do documento (128) na superfície de edição (208); e posicionar um cursor na posição de caractere na parte de texto do documento (128) dentro da superfície de edição (208).
10. Mídia de armazenamento de computador, de acordo com a reivindicação 9, caracterizada pelo fato de que a linguagem de marcação renderizada pelo navegador de rede é Linguagem de Marcação de Hipertexto (HTML) e a linguagem de marcação acrescentada ao documento (128) para fazer com que o navegador de rede (122) renderize uma superfície de edição (208) compreende um dentre um elemento IFRAME HTML, um elemento DIV HTML, ou um elemento TEXTAREA HTML.
11. Mídia de armazenamento de computador, de acordo
Petição 870190090058, de 11/09/2019, pág. 8/15
6/8 com a reivindicação 8, caracterizada pelo fato de que executar uma operação de refluxo da superfície de edição (208) compreende:
determinar se um refluxo da superfície de edição (208) na janela (200) é exigido; e ao determinar que um refluxo é exigido, atualizar a parte de texto do documento (128) na janela (200) com as mudanças da superfície de edição (208), fazer com que o navegador de rede (122) renderize novamente o documento (128) na janela (200), e reposicionar a superfície de edição (208) para encobrir a parte de texto do documento (128) na janela (200).
12. Mídia de armazenamento de computador, de acordo com a reivindicação 8, caracterizada pelo fato de que determinar se a superfície de edição (208) processará a entrada compreende determinar se a entrada foi o resultado de uma dentre uma tecla de letra, uma tecla de pontuação e uma tecla de número sendo pressionada em um teclado.
13. Método para fornecer uma superfície de edição transitória (208) em um programa de processamento de texto (140) executando dentro de um navegador de rede (122), o método sendo caracterizado pelo fato de que compreende as etapas de:
detectar uma colocação de um indicador de inserção (206) por um usuário (102) dentro de um parágrafo de texto de um documento (128) sendo editado no programa de processamento de texto (140);
ao detectar a colocação do indicador de inserção, determinar uma posição de caractere da colocação do indicador de inserção (206) dentro do texto;
determinar uma posição e tamanho atuais do parágrafo (202, 204) tal como exibido dentro de uma página em uma janela (200)
Petição 870190090058, de 11/09/2019, pág. 9/15
7/8 gerada pelo navegador de rede (122);
criar uma superfície de edição (208) na página na posição e do tamanho do parágrafo (202, 204) tal como exibido dentro da página, a superfície de edição (208) criada adicionando um elemento de Linguagem de Marcação de Hipertexto (HTML) à página a ser renderizada pelo navegador de rede (122);
copiar o texto para a superfície de edição (208);
tornar o parágrafo de texto (202, 204) tal como exibido dentro da página invisível;
posicionar um cursor (210) na superfície de edição (208) na posição de caractere do indicador de inserção (206);
detectar entrada de usuário (146) dentro da janela (200);
ao detectar a entrada de usuário, determinar se a superfície de edição (208) processará a entrada de usuário;
ao determinar que a superfície de edição (208) processará a entrada de usuário, passar a entrada de usuário para a superfície de edição (208) para processamento, determinar se é necessário refluir a superfície de edição (208), e ao determinar que é necessário refluir a superfície de edição (208), executar uma operação de refluxo da superfície de edição (208); e ao determinar que a superfície de edição (208) não processará a entrada de usuário, atualizar o parágrafo (202, 204) na página com o texto da superfície de edição (208), tornar o parágrafo (202, 204) tal como exibido dentro da página visível, destruir a superfície de edição (208), e
Petição 870190090058, de 11/09/2019, pág. 10/15
8/8 passar a entrada de usuário para o programa de processamento de texto (140) para processamento.
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que executar uma operação de refluxo da superfície de edição (208) compreende:
atualizar o parágrafo na página com o texto da superfície de edição (208);
fazer com que o navegador de rede renderize a página na janela (200);
determinar uma nova posição e um novo tamanho do parágrafo tal como exibido dentro da página; e modificar a posição e o tamanho da superfície de edição (208) na página para ser a nova posição e o novo tamanho do parágrafo tal como exibido dentro da página.
15. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que detectar entrada de usuário dentro da janela (200) compreende interceptar eventos de teclado e mouse do navegador de rede (122).
16. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que determinar se a superfície de edição (208) processará a entrada de usuário compreende determinar se o usuário pressionou uma dentre uma tecla de letra, uma tecla de pontuação ou uma tecla de número de um teclado.
17. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que determinar se é necessário refluir a superfície de edição (208) compreende determinar se o processamento da entrada de usuário pela superfície de edição (208) fez com que o texto dentro da superfície de edição (208) tal como renderizado pelo navegador de rede (122) na página excedesse o tamanho da superfície de edição (208).
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/037.059 | 2008-02-25 | ||
| US12/037,059 US8266524B2 (en) | 2008-02-25 | 2008-02-25 | Editing a document using a transitory editing surface |
| PCT/US2009/031482 WO2009108417A1 (en) | 2008-02-25 | 2009-01-21 | Editing a document using a transitory editing surface |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0907464A2 BRPI0907464A2 (pt) | 2015-07-14 |
| BRPI0907464B1 true BRPI0907464B1 (pt) | 2020-02-11 |
Family
ID=40999566
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0907464-3A BRPI0907464B1 (pt) | 2008-02-25 | 2009-01-21 | Método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US8266524B2 (pt) |
| EP (1) | EP2260406B1 (pt) |
| JP (1) | JP5490729B2 (pt) |
| KR (1) | KR101524897B1 (pt) |
| CN (1) | CN101952821B (pt) |
| AU (1) | AU2009217633B2 (pt) |
| BR (1) | BRPI0907464B1 (pt) |
| CA (1) | CA2712925C (pt) |
| IL (1) | IL207097A (pt) |
| MX (1) | MX2010009102A (pt) |
| MY (1) | MY154193A (pt) |
| RU (1) | RU2493589C2 (pt) |
| WO (1) | WO2009108417A1 (pt) |
| ZA (1) | ZA201005076B (pt) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9507651B2 (en) * | 2008-04-28 | 2016-11-29 | Microsoft Technology Licensing, Llc | Techniques to modify a document using a latent transfer surface |
| JP2010073033A (ja) * | 2008-09-19 | 2010-04-02 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
| US20100095198A1 (en) * | 2008-10-15 | 2010-04-15 | Apple Inc. | Shared comments for online document collaboration |
| US8347208B2 (en) * | 2009-03-04 | 2013-01-01 | Microsoft Corporation | Content rendering on a computer |
| US9292161B2 (en) * | 2010-03-24 | 2016-03-22 | Microsoft Technology Licensing, Llc | Pointer tool with touch-enabled precise placement |
| US8704783B2 (en) | 2010-03-24 | 2014-04-22 | Microsoft Corporation | Easy word selection and selection ahead of finger |
| EP2732383B1 (en) * | 2011-07-12 | 2018-04-04 | Snap Inc. | Methods and systems of providing visual content editing functions |
| CN102270193A (zh) * | 2011-07-24 | 2011-12-07 | 珠海金山办公软件有限公司 | 对文档中选定区域进行可预览设置的装置及方法 |
| US9317196B2 (en) | 2011-08-10 | 2016-04-19 | Microsoft Technology Licensing, Llc | Automatic zooming for text selection/cursor placement |
| CN102314314B (zh) * | 2011-08-29 | 2015-08-26 | 上海量明科技发展有限公司 | 文档阅读时光标转换的方法及系统 |
| US9075517B2 (en) * | 2012-02-21 | 2015-07-07 | Google Inc. | Web input through drag and drop |
| CN103257956B (zh) | 2013-04-19 | 2016-06-15 | 小米科技有限责任公司 | 一种电子文档的数据更新方法及装置 |
| US10599753B1 (en) | 2013-11-11 | 2020-03-24 | Amazon Technologies, Inc. | Document version control in collaborative environment |
| US11336648B2 (en) | 2013-11-11 | 2022-05-17 | Amazon Technologies, Inc. | Document management and collaboration system |
| US10540404B1 (en) | 2014-02-07 | 2020-01-21 | Amazon Technologies, Inc. | Forming a document collection in a document management and collaboration system |
| US9542391B1 (en) | 2013-11-11 | 2017-01-10 | Amazon Technologies, Inc. | Processing service requests for non-transactional databases |
| CN104714930B (zh) * | 2013-12-12 | 2018-10-02 | 鸿合科技股份有限公司 | 一种文档快速处理方法和装置 |
| KR102283360B1 (ko) * | 2013-12-31 | 2021-07-30 | 삼성전자주식회사 | 텍스트 편집 위치를 가이드 하는 방법, 장치 및 기록매체 |
| US10691877B1 (en) * | 2014-02-07 | 2020-06-23 | Amazon Technologies, Inc. | Homogenous insertion of interactions into documents |
| US10140263B2 (en) | 2014-06-06 | 2018-11-27 | Maud GAGNÉ-LANGEVIN | System and method for generating task-embedded documents |
| CN105302828B (zh) * | 2014-07-02 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 一种页面标签信息显示方法、装置及电子设备 |
| US9639263B2 (en) | 2014-08-05 | 2017-05-02 | Weebly, Inc. | Native overlay for rapid editing of web content |
| US9807073B1 (en) | 2014-09-29 | 2017-10-31 | Amazon Technologies, Inc. | Access to documents in a document management and collaboration system |
| US10139998B2 (en) | 2014-10-08 | 2018-11-27 | Weebly, Inc. | User interface for editing web content |
| US9535883B2 (en) * | 2014-10-24 | 2017-01-03 | Dropbox, Inc. | Modifying native document comments in a preview |
| US10867118B2 (en) * | 2015-01-28 | 2020-12-15 | Box, Inc. | Method and system for implementing a collaboration platform for structured objects in a document |
| US9811505B2 (en) * | 2015-07-20 | 2017-11-07 | Sas Institute Inc. | Techniques to provide processing enhancements for a text editor in a computing environment |
| CN105808512A (zh) * | 2016-03-04 | 2016-07-27 | 北京奇虎科技有限公司 | 百科词条内容的编辑方法及编辑装置 |
| CN105808515A (zh) * | 2016-03-04 | 2016-07-27 | 北京奇虎科技有限公司 | 基于分句的百科词条的编辑方法及编辑装置 |
| CN105808704A (zh) * | 2016-03-04 | 2016-07-27 | 北京奇虎科技有限公司 | 百科词条内容的评价展示方法及评价展示装置 |
| CN105892836A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇虎科技有限公司 | 基于百科词条的激活态飞幕显示方法及装置 |
| CN105930340A (zh) * | 2016-03-31 | 2016-09-07 | 北京奇虎科技有限公司 | 基于百科词条的词条纠错方法及装置 |
| CN105912225B (zh) * | 2016-03-31 | 2019-08-23 | 北京奇虎科技有限公司 | 基于百科词条的飞幕显示方法及装置 |
| RU2642409C1 (ru) * | 2016-09-28 | 2018-01-24 | Общество с ограниченной ответственностью "Аби Девелопмент" | Редактирование текста на изображении документа |
| WO2018109589A1 (en) * | 2016-12-15 | 2018-06-21 | Walkme Ltd. | Updating data records by adding editing functions to non-editable display elements |
| KR102029057B1 (ko) * | 2017-06-20 | 2019-10-07 | 주식회사 인프라웨어 | 전자문서를 편집하는 방법 및 장치 |
| US20200183553A1 (en) | 2018-12-10 | 2020-06-11 | Square, Inc. | Customized Web Page Development based on Point-of-Sale Information |
| CN109657220A (zh) * | 2018-12-11 | 2019-04-19 | 万兴科技股份有限公司 | Pdf文档的在线编辑方法、装置及电子设备 |
| KR102902377B1 (ko) * | 2019-11-12 | 2025-12-19 | 주식회사 인투소프트 | 블록 에디터 기반 문서 편집 서비스 제공 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램 |
| US11611629B2 (en) * | 2020-05-13 | 2023-03-21 | Microsoft Technology Licensing, Llc | Inline frame monitoring |
| CN111797603B (zh) | 2020-07-02 | 2022-02-01 | 北京字节跳动网络技术有限公司 | 文档内表格浏览方法、装置、电子设备及存储介质 |
| US20230222189A1 (en) * | 2022-01-12 | 2023-07-13 | Lenovo (Singapore) Pte. Ltd. | Performance of different actions at device based on success or failure of subsequent authentication within threshold time after repeated authentication fails |
| CN115543142B (zh) * | 2022-11-02 | 2026-02-10 | 深圳复临科技有限公司 | 文本实时编辑方法、装置、计算机设备及存储介质 |
| CN119691311A (zh) * | 2025-02-21 | 2025-03-25 | 龙芯中科(合肥)技术有限公司 | 页面元素编辑方法、装置、设备及可读存储介质 |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5604858A (en) * | 1992-08-10 | 1997-02-18 | International Business Machines Corporation | Method and system for apparent direct editing of fixed display elements within a data processing system |
| CA2124624C (en) * | 1993-07-21 | 1999-07-13 | Eric A. Bier | User interface having click-through tools that can be composed with other tools |
| US5581670A (en) * | 1993-07-21 | 1996-12-03 | Xerox Corporation | User interface having movable sheet with click-through tools |
| US5826025A (en) * | 1995-09-08 | 1998-10-20 | Sun Microsystems, Inc. | System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups |
| AUPO525497A0 (en) * | 1997-02-21 | 1997-03-20 | Mills, Dudley John | Network-based classified information systems |
| US6278678B1 (en) * | 1999-02-12 | 2001-08-21 | Sony Corporation | Editing apparatus, editing method, and recording medium |
| JP2000339312A (ja) * | 1999-05-31 | 2000-12-08 | Toshiba Corp | 文書編集システム及びタグ情報管理テーブル作成方法 |
| US7124360B1 (en) * | 1999-08-04 | 2006-10-17 | William Drenttel | Method and system for computer screen layout based on a recombinant geometric modular structure |
| US7117435B1 (en) * | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
| US7155667B1 (en) * | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
| US7259753B2 (en) * | 2000-06-21 | 2007-08-21 | Microsoft Corporation | Classifying, anchoring, and transforming ink |
| JP4522650B2 (ja) * | 2000-06-21 | 2010-08-11 | マイクロソフト コーポレーション | スプレッドシートとワードプロセッシングの表を統合するシステムと方法 |
| US7103838B1 (en) * | 2000-08-18 | 2006-09-05 | Firstrain, Inc. | Method and apparatus for extracting relevant data |
| TW525067B (en) * | 2000-09-28 | 2003-03-21 | Fatwire Corp | System and method for in-context editing |
| US6941507B2 (en) * | 2000-11-10 | 2005-09-06 | Microsoft Corporation | Insertion point bungee space tool |
| US7191405B1 (en) * | 2000-11-22 | 2007-03-13 | Adobe Systems Incorporated | System and method for editing information |
| JP3943830B2 (ja) * | 2000-12-18 | 2007-07-11 | 株式会社東芝 | 文書合成方法および文書合成装置 |
| US7120868B2 (en) * | 2002-05-30 | 2006-10-10 | Microsoft Corp. | System and method for adaptive document layout via manifold content |
| US20070028166A1 (en) * | 2002-04-10 | 2007-02-01 | Allen Hundhausen | System and processes for dynamic document construction |
| US20040205488A1 (en) * | 2001-11-27 | 2004-10-14 | Fry Randolph Allan | Active web page for editing with any browser |
| US7698636B2 (en) * | 2002-06-13 | 2010-04-13 | Microsoft Corporation | System and method for in-context editing of components |
| TW576984B (en) * | 2002-07-19 | 2004-02-21 | Jen-Hwang Weng | On-line web page editing system and method |
| US7340673B2 (en) * | 2002-08-29 | 2008-03-04 | Vistaprint Technologies Limited | System and method for browser document editing |
| US7036079B2 (en) * | 2003-01-07 | 2006-04-25 | Microsoft Corporation | Importation of automatically generated content |
| US7000184B2 (en) * | 2003-01-24 | 2006-02-14 | The Cobalt Group, Inc. | Remote web site editing in a standard web browser without external software |
| US20040202352A1 (en) * | 2003-04-10 | 2004-10-14 | International Business Machines Corporation | Enhanced readability with flowed bitmaps |
| US7890852B2 (en) * | 2003-06-26 | 2011-02-15 | International Business Machines Corporation | Rich text handling for a web application |
| JP2005149061A (ja) * | 2003-11-14 | 2005-06-09 | Ricoh Co Ltd | 情報処理システム、プログラム、及び記憶媒体 |
| US20050262439A1 (en) * | 2004-05-20 | 2005-11-24 | Neil Cameron | Automatic web publishing |
| US7574048B2 (en) * | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
| JP4197313B2 (ja) * | 2004-10-15 | 2008-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文章編集方法、文章編集方法を実行するプログラム、及び文章編集システム |
| US20070150477A1 (en) * | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | Validating a uniform resource locator ('URL') in a document |
| US7793231B2 (en) * | 2006-01-19 | 2010-09-07 | International Business Machines Corporation | Method and system for providing a primary window overlay |
| US20070288859A1 (en) * | 2006-06-07 | 2007-12-13 | Siemens Communications, Inc. | Method and apparatus for selective forwarding of e-mail and document content |
| US20080209311A1 (en) * | 2006-12-29 | 2008-08-28 | Alex Agronik | On-line digital image editing with wysiwyg transparency |
-
2008
- 2008-02-25 US US12/037,059 patent/US8266524B2/en not_active Expired - Fee Related
-
2009
- 2009-01-21 WO PCT/US2009/031482 patent/WO2009108417A1/en not_active Ceased
- 2009-01-21 AU AU2009217633A patent/AU2009217633B2/en not_active Ceased
- 2009-01-21 MY MYPI2010003577A patent/MY154193A/en unknown
- 2009-01-21 BR BRPI0907464-3A patent/BRPI0907464B1/pt not_active IP Right Cessation
- 2009-01-21 MX MX2010009102A patent/MX2010009102A/es active IP Right Grant
- 2009-01-21 EP EP09715195.5A patent/EP2260406B1/en active Active
- 2009-01-21 CA CA2712925A patent/CA2712925C/en active Active
- 2009-01-21 KR KR1020107021155A patent/KR101524897B1/ko not_active Expired - Fee Related
- 2009-01-21 JP JP2010547664A patent/JP5490729B2/ja not_active Expired - Fee Related
- 2009-01-21 CN CN2009801066446A patent/CN101952821B/zh not_active Expired - Fee Related
- 2009-01-21 RU RU2010135522/08A patent/RU2493589C2/ru active
-
2010
- 2010-07-16 ZA ZA2010/05076A patent/ZA201005076B/en unknown
- 2010-07-20 IL IL207097A patent/IL207097A/en active IP Right Grant
Also Published As
| Publication number | Publication date |
|---|---|
| IL207097A0 (en) | 2010-12-30 |
| AU2009217633A1 (en) | 2009-09-03 |
| RU2493589C2 (ru) | 2013-09-20 |
| KR20100135756A (ko) | 2010-12-27 |
| CA2712925C (en) | 2016-08-30 |
| JP2011514993A (ja) | 2011-05-12 |
| IL207097A (en) | 2016-02-29 |
| EP2260406A1 (en) | 2010-12-15 |
| US8266524B2 (en) | 2012-09-11 |
| EP2260406A4 (en) | 2018-01-24 |
| KR101524897B1 (ko) | 2015-06-01 |
| ZA201005076B (en) | 2011-09-28 |
| CA2712925A1 (en) | 2009-09-03 |
| CN101952821A (zh) | 2011-01-19 |
| US20090217158A1 (en) | 2009-08-27 |
| WO2009108417A1 (en) | 2009-09-03 |
| MX2010009102A (es) | 2010-09-09 |
| CN101952821B (zh) | 2013-05-01 |
| EP2260406B1 (en) | 2021-04-07 |
| RU2010135522A (ru) | 2012-02-27 |
| MY154193A (en) | 2015-05-15 |
| JP5490729B2 (ja) | 2014-05-14 |
| BRPI0907464A2 (pt) | 2015-07-14 |
| AU2009217633B2 (en) | 2014-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0907464B1 (pt) | Método para editar uma parte de texto de um conteúdo de um documento, mídia de armazenamento de computador e método para fornecer uma superfície de edição transitória | |
| JP5629781B2 (ja) | スクロール中に文字列の縦の段に追従するための方法および装置 | |
| US8694904B2 (en) | Cross-browser rich text editing via a hybrid client-side model | |
| JP4896444B2 (ja) | 電子ドキュメント内で特定のタイプのコンテンツを管理するための方法、装置、およびコンピュータ可読媒体 | |
| US10466886B2 (en) | Determining a target position for scrolling content | |
| US20160048289A1 (en) | Graphical user interface methods, systems, and computer program products | |
| US20150012818A1 (en) | System and method for semantics-concise interactive visual website design | |
| BRPI0506116B1 (pt) | Method for providing functionality for a selected object through an improved user interface | |
| BRPI0502616B1 (pt) | "Método Implementado por Computador para Proporcionar uma Pré-visualização de um Documento em um Computador" | |
| BRPI1007264B1 (pt) | método para fornecer funcionalidade a partir de um aplicativo de software por meio de uma interface do usuário aprimorada e meio legível por computador tendo um método para fornecer funcionalidade a partir de um aplicativo de software por meio de uma interface do usuário aprimorada | |
| US9910835B2 (en) | User interface for creation of content works | |
| CN102915228A (zh) | 菜单工具条整合系统及方法 | |
| CN112667218A (zh) | 一种处理方法、装置、设备及存储介质 | |
| CN101578576B (zh) | 在网页的创作中用于支持对象选择的方法和系统 | |
| US9904713B2 (en) | Proposing a copy area in a document | |
| US11789747B2 (en) | Simulated visual hierarchy while facilitating cross-extension communication | |
| CN115358187A (zh) | 层级信息的显示方法、装置及存储介质 | |
| US20120137248A1 (en) | Methods, systems, and computer program products for automatically scrolling items in a selection control | |
| HK1151873B (en) | Editing a document using a transitory editing surface |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B25A | Requested transfer of rights approved |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] | ||
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 11/02/2020, OBSERVADAS AS CONDICOES LEGAIS. |
|
| B21F | Lapse acc. art. 78, item iv - on non-payment of the annual fees in time |
Free format text: REFERENTE A 16A ANUIDADE. |
|
| B24J | Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12) |
Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2810 DE 12-11-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013. |