Skip to content

Commit

Permalink
Finite le modifiche delle label V3.0
Browse files Browse the repository at this point in the history
Modificato il metodo "toValidLabel" nel file "Analyze". Ora le label
possono contenere anche solo numeri, non inverte più le lettere e i numeri, non elimina più gli spazi tra una parola e l'altra, cancella gli spazi
antecedenti e posteriori alla stringa e non rende più maiuscole le lettere
iniziali della label.

( Aggiornamento 2.0: è stato modificato il modo in cui controlla la label utilizzando il metodo "isLetterOrDigit()". Ora gli spazi speciali verranno eliminati tramite il metodo "StringUtils.strip()". Tutti i caratteri speciali proibiti si trovano dentro a "invalidChars". Gli spazi normali verranno aggiunti, ma quelli finali e iniziali verranno trimmati. )

( Aggiornamento 3.0: è stato modificato di nuovo il modo in cui esclude gli spazi speciali. In questa versione, vengono esclusi tramite il loro unicode. Ci sono tre gap di spazi speciali. Quei gap sono stati coperti da un controllo. Se il carattere non fa parte di quei gap, verrà aggiunto alla stringa finale. )
  • Loading branch information
Matt345Fire committed Mar 7, 2023
1 parent 3052d8a commit 98f7718
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 18 deletions.
10 changes: 5 additions & 5 deletions Logisim-Fork/.idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions Logisim-Fork/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -109,13 +109,6 @@
<version>2.8.9</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>

</dependencies>

<repositories>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

package com.cburch.logisim.circuit;

import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
Expand Down Expand Up @@ -308,12 +306,10 @@ public int compare(Instance ac, Instance bc) {
// Metodo che controlla il nome delle etichette (specialmente per l'analizza circuito)
private static String toValidLabel(String label) {
StringBuilder buildLabel = new StringBuilder(); // StringBuilder per tenere la stringa in costruzione
// Questi sono i caratteri speciali proibiti. Sono semplicemente tutti quei finti spazi.
String invalidChars = "         \u200B\u200C\u200D\u200E\u200F\u202A\u202B\u202C\u202D\u202E\u206A\u206B\u206C\u206E\u206D\u206E\u206F  ";
label = StringUtils.strip(label, invalidChars); // Toglie dalla stringa tutti i caratteri proibiti
for(int i = 0; i < label.length(); i++) { // Passa per tutta la label
char c = label.charAt(i); // Carattere a posizione i
if(isLetterOrDigit(c) || c == ' ') { // Controlla se è una lettera, un numero o uno spazio
int unicode = label.codePointAt(i); // Unicode del carattere
if((unicode < 8192 || unicode > 8207) && (unicode < 8234 || unicode > 8239) && (unicode < 8298 || unicode > 8303)) { // Controlla che non sia un Unicode proibito
buildLabel.append(c); // Nel caso lo aggiunge alla stringa in costruzione
}
}
Expand Down

0 comments on commit 98f7718

Please sign in to comment.